2014-03-30 62 views

回答

2

在C中,你可以使用可變長度陣列(VLA)。所以你可以聲明一個三維數組,其左邊的維將指定二維數組的數量。

例如

#include <stdlib.h> 

int main(int argc, char * argv[]) 
{ 
    // some check that the command line parameter was specified 
    int a[atoi(argv[1])][5][5]; 
} 
+0

因此,基本上[A] [5] [5]和B [5] [5]是[0] [5] [5]和[1] [5] [5]? –

+0

@Jordan H是的,你說得對。 –

+0

太棒了,我很感激。這是在C中處理這種常見方式嗎? –

0

如果大小不固定,你可以使用std::vector<std::vector<int> >二維數組,如果你在C++中。
否則如果你在c你可以使用:
int* myArr = malloc(x_dim*y_dim*sizeof(int)); // malloc guarantees //contiguous memory allocation

+1

他明確指出這是C – Kakira

+0

當編輯迴應評論的答案,這樣表示很有禮貌。使評論呃看起來很愚蠢,否則。 – Kakira

+0

刪除了我的評論。好? – deeiip

相關問題