如何将结构中的指针指向同一结构的另一个成员

how to point a pointer in a struct to another member of the same struct

本文关键字:结构 成员 另一个 指针      更新时间:2023-10-16

这是我的代码,我试图将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]初始化的两个内部行,我都收到了"‘}’标记之前的语法错误"编译器错误。

除了初始化位之外,数组指针的类型也不合适。然而,这应该起作用:

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 }
   };
}