这是我的代码,我试图将arrayPointer指向结构的数组成员:
int main()
{
typedef struct {
int array[3][2];
int(*arrayPtr)[2];
} myStruct;
myStruct x[2] =
{
{ { {1,2}, {3,4}, {5,6} }, .array },
{ { {6,5}, {4,3}, {2,1} }, .array }
};
}
但是,对于x[2]
初始化的内部行,我收到了'}'令牌'编译器错误之前的“语法错误。”
答案 0 :(得分:2)
除初始化位外,数组指针的类型也不合适。然而,这应该有效:
int main()
{
typedef struct {
int array[3][2];
int (*arrayPtr)[3][2];
} myStruct;
myStruct x[2] =
{
{ { {1,2}, {3,4}, {5,6} }, &x[0].array },
{ { {6,5}, {4,3}, {2,1} }, &x[1].array }
};
}