我有一个结构说MYSTRUCT: -指向二维结构阵列
#define SEC_DIMENSION 2
struct MyStruct
{
char cChar;
float fFloat;
int iInt;
};
struct MyStruct StructArray[SEC_DIMENSION][20]; //Two Dimensional Array of Structures.
现在我想用指针来访问此。
struct MyStruct *StructPtr[SEC_DIMENSION];
我做了分配如下: -
StructPtr[0] = &StructArray[0][0];
现在,我想访问结构的成员StructArray [0] [1]即StructArray[0][1].cChar
或StructArray[0][1].fFloat
我怎么能访问它们通过使用StructPtr?
我试过使用StuctPtr[0][1]->cChar
然后((StructPtr[0])[1])->cChar
两者都返回一个错误。
随着StructPtr[0]->cChar
建立成功。但这不是我想要的。
“但这不是我想要的。” ,你想要什么? – phoxis
我想使用指针访问StructArray [0] [1] .cChar。在这种情况下,它将访问StructArray [0] [0] .cChar而不是此数组的其他成员。 – Swanand
您已经将自己的数组位置'[0] [0]'处的结构地址分配给指针数组structPtr的第0个元素。因此'StructPtr [0]'现在拥有结构'StructArray [0] [0]'的基地址。因此'StructPtr [0] - > cChar'会给你'StructArray [0] [0]'的cChar组件' – phoxis