2015-10-17 49 views
1

二维阵列的填充,我想在一个结构来创建一个二维数组,然后用一些值填充它,像:宣言,并在结构在C

typedef struct { 
Ez_image *image1; 
Ez_window win1; 
int coordJeu[16][2] = {{4,1},{3,2},{5,2},{2,3},{4,3},{6,3},{1,4},{3,4},{5,4},{7,4},{2,5},{4,5},{6,5},{3,6},{5,6},{4,7}}; 
} App_data; 

这给我:

error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token 
int coordJeu[16][2] = {{4,1},{3,2},{5,2},{2,3},{4,3},{6,3},{1,4},{3,4},{5,4},{7,4},{2,5},{4,5},{6,5},{3,6},{5,6},{4,7}};; 
        ^

我想知道如何做到这一点,而且,如果它不是可能,如何填补的2维数组声明之后,在类似的东西(假设以下无法正常工作,其只是为了这个想法):

App_data gameDb; 
gameDb.coordJeu[][] = {{4,1},{3,2},{5,2},{2,3},{4,3},{6,3},{1,4},{3,4},{5,4},{7,4},{2,5},{4,5},{6,5},{3,6},{5,6},{4,7}}; 

任何想法?

回答

1

这应该做的伎俩:

App_data gameDb = { 
    .coordJeu = {{4,1},{3,2},{5,2},{2,3},{4,3},{6,3},{1,4},{3,4},{5,4},{7,4},{2,5},{4,5},{6,5},{3,6},{5,6} {4,7}}; 
}; 

一个designated initializer在这里使用。

+0

它工作完美,感谢您的快速回答! :D – Bacquelmore

+0

@Bacquelmore永远乐于帮助:-) – Downvoter