Google先生にお伺いを立てたところ、
2次元配列の各要素(配列)の先頭アドレスを格納した配列を用意し、
その配列の先頭アドレスを関数に渡すことで実現できるらしいのですが。
lang
1void show(int **A){ 2 int i,j; 3 for(i=0;i<5;i++){ 4 for(j=0;j<5;j++){ 5 printf("%d ",A[i][j]);/*←ここ*/ 6 } 7 printf("\n"); 8 } 9} 10 11int main(void){ 12 int A[5][5] = {0}; 13 int i; 14 int *pA[5]; 15 16 for(i=0;i<5;i++) pA[i] = A[i]; 17 18 show(pA); 19 20 return 0; 21}
5行目の部分がいまいちピンときません。
なぜA[i][j]の形で要素を参照できるんでしょう。
あと、二次元配列を関数に渡す方法でいいものがあれば教えてください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/10 01:31