我正在開發一個遊戲項目。我的一個結構體包含另一個結構體的矩陣。我無法設法獲得malloc作品。這裏是我的實際代碼:結構矩陣的malloc - C
m->tiles = malloc(sizeof(struct *tile)*width);
for (i=0; i<width ; i++){
m->tiles[i] = malloc(sizeof(struct tile)*height);
}
而且我得到這個錯誤信息:
map.c:111:37: error: expected ‘{’ before ‘*’ token
m->tiles = malloc(sizeof(struct *tile)*width);
我從來沒有過的。已經爲int矩陣分配內存,但從未分配結構矩陣。
謝謝。
編輯:謝謝你BLUEPIXY你的答案工作。但我認爲我沒有很好地定義我的結構:
struct map{
int map_width; // Nombre de tiles en largeur
int map_height; // Nombre de tiles en hauteur
struct tile **tiles; // ensemble des tiles de la map
};
它應該是「struct tile *** tiles」?
'struct * tile' - >'struct tile *'typo – BLUEPIXY 2015-01-26 23:56:41
它不是拼寫錯誤,有兩個星號。 – 2015-01-26 23:57:07
'm-> tiles'是什麼類型? – 2015-01-27 00:01:05