在struct错误中初始化2D数组

时间:2012-05-08 01:37:53

标签: c arrays

当我在我的struct中初始化这个数组时。我收到错误消息 -     语法错误:'{'。     '{'之前的意外令牌;跳过明显的功能体。

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 个答案:

答案 0 :(得分:4)

您无法初始化结构声明中的变量,无论数组还是int都无关紧要。但是,您可以在struct initialization中初始化数组。

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