如果我有幾個相同數據類型的數組,那麼將它們全部複製到2d數組中的最佳方法是什麼?例如從1d數組創建2d數組
int array1[] = {1,2,3,4,5,6,7,8,9,10};
int array2[] = {9,8,7,6,5,4,3,2,1,0};
int array2d[][];
//pseudo code array2d = array1 + array2
使
array2d[0][0]; //=1 (first member of array1)
array2d[1][0]; //=9 (first member of array2)
考慮一個數組只是一個指向第一個元素,我想我能做到這一點,但它會創建一個編譯器錯誤。
array2d[0][0] = array1;
array2d[1][0] = array2;
我猜我不能使用引用複製,因爲數組需要在連續內存中的條目?有沒有像我可以使用的功能的memset?
「考慮一個數組是隻是一個指向第一個元素的指針「...... nah,nah,nah,數組不是指向第一個元素的指針,這就解釋了爲什麼它不起作用(更多閱讀:http://stackoverflow.com/questions/1641957/is-array-name-a-pointer-in-c和http://stackoverflow.com/questions/4810664/how-do-i-use-arrays-in-c)。 –