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

时间:2012-03-12 15:53:45

标签: c++

这是我的代码,我试图将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]初始化的内部行,我收到了'}'令牌'编译器错误之前的“语法错误。”

1 个答案:

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