2012-05-08 50 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