2015-10-17 50 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