[英]Allocating memory for a 3D array
我有數組: char game[10][10][3]
,我想為[10][10]分配memory,我該怎么做? 我想像char **game[3]
這樣的東西,但是當我做一些 malloc 時,它說我需要初始化數組。
很容易分配:
typedef char game_board[10][10][3];
game_board* board = malloc(sizeof(game_board));
雖然老實說只是在沒有指針的情況下使用它會少很多混亂。
請記住char **game[3]
是一個指向大小為 3 的數組的指針。注意中間指針。 在原始定義中,它是一個由 10 個長度為 3 的 arrays 組成的 10 個數組。這個結構中沒有指針。 雖然 forms 都可以像game[x][y][z]
一樣被引用,但這只是因為 C 如何使語法相同。 這不是對所涉及的實際結構的反映。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.