有沒有方便的方法來創建一個矩陣而不使用malloc?這種作品:C可變尺寸行的二維數組
int *arr2d[3];
int arr0[] = { 0 };
int arr1[] = { 0, 1 };
int arr2[] = { 0, 1, 2 };
arr2d[0] = arr0;
arr2d[1] = arr1;
arr2d[2] = arr2;
printf(%d, arr2d[i][j]);
它不會讓你遍歷值容易因爲你可以使用arr2d的sizeof你不能讓每個子陣列的大小[3] [3]。
sizeof arr2d[i]/sizeof arr2d[i][0]
有沒有更好的方法來做到這一點?
作爲參考,在這裏是同一種對C的問題++:
C++ 2 dimensional array with variable size rows
我對這種方法感到不安的是,尺寸是如何從字面數組中得到的字面數。這是對數組文字進行更改時忘記修改大小的錯誤邀請。我盡力避免這種情況,即使它能正常工作。 – cmaster 2014-10-26 20:45:08
發現笨拙不得不寫m [i] .a [j],有沒有辦法避免這種情況? – Forss 2014-10-26 20:50:08
@Forss使用函數。 – 2501 2014-10-26 20:50:31