簡體   English   中英

為 3D 陣列分配 memory

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM