2012-05-08 53 views
0

当我在我的结构中初始化这个数组时。我收到错误消息 - 语法错误:'{'。 '{';之前的意外标记(s);跳过明显的功能体。在结构错误中初始化二维数组

int array[8][2] = {{3,6},{3,10},{3,14},{8,4}, {8,8},{8,12},{8,16},{12,2}}; 

我不知道什么是错的,因为我复制了我的教科书的语法。

声明是typedef struct _array * Array;

+1

请向你展示struct声明,因为你不能初始化struct中的变量。 – Joe

回答

4

你不能在一个struct声明中初始化一个变量,如果一个数组或int不重要。但是,您可以在结构初始化中初始化数组。

struct foo { 
    int x; 
    int array[8][2]; 
}; 

struct foo foovar = {1, {{3,6},{3,10},{3,14},{8,4}, {8,8},{8,12},{8,16},{12,2}}}; 
+0

谢谢。这解决了它。 – Sam