4
我現在正在用C中的指針瘋狂。我有以下兩個多維數組:從數組中檢索多維數組
int num0[5][3] =
{ {0,1,0},
{1,0,1},
{0,1,0},
{1,0,1},
{0,1,0}
};
int num1[5][3] =
{ {1,1,1},
{1,0,1},
{0,1,1},
{0,1,0},
{1,0,0}
};
這些然後裝入另一個數組這樣:
int (*numbers[])[3] = { num0, num1 };
如果我那麼做:
printf("Result: %d\n", numbers[0][2][2]);
我得到預期的結果,在這種情況下結果:1.
但是,我想將數字[0]分配給另一個變量。因此,在一個現代的編程語言,你會做的簡單的東西:
int newvar[5][3] = numbers[0];
printf("Result: %d\n", newvar[2][2]);
即使我的指針知識是有限的,我知道這是行不通的(當然沒有的話)。但是對於我來說,我無法弄清楚正確的語法來使其工作(更重要的是,理解它爲什麼起作用)。
如果有人能在這裏幫助我,我會很感激!
感謝
隨着靜態分配的數組,這不是一件容易的事。真的,使用malloc()和鏈表式設計。這就是它容易的方式。 – 2012-06-13 19:59:31
順便說一下,數字[0] [2] [2]的預期結果是0而不是1。 –