「C言語/配列とポインタ」の版間の差分
削除された内容 追加された内容
M編集の要約なし |
→多次元配列と多次元配列へのポインター: 先頭要素へのポインターから配列の配列へのポインターに変更。 タグ: 2017年版ソースエディター |
||
293 行
多次元配列の各次元の要素数を得るためには、次の様に隣り合った次元間のsizeof数の商を使います。
;[https://paiza.io/projects/mCDAP7k_h50E9w7u483CnQ?language=c 多次元配列の各次元の要素数を得る]:<syntaxhighlight lang="C" highlight='18,21' line>
#include <stdio.h>
304 行
printf("Y = %lu\n", sizeof a / sizeof *a);
printf("X = %lu\n", sizeof *a / sizeof **a);
for (int y = 0; y < sizeof a / sizeof *a; y++
for (int x = 0; x < sizeof *a / sizeof **a; x++
printf("%2d ", a[y][x]);
}
311 行
}
for (int y = 0; y < sizeof a / sizeof *a; y++
for (int x = 0; x < sizeof *a / sizeof **a; x++
printf("%+2d ", (*p)[y][x]);
}
printf("\n");
}
printf("sizeof *p = %zu \n", sizeof *p);
}
</syntaxhighlight>
329 ⟶ 330行目:
+4 +5 +6 +7
+8 +9 +10 +11
sizeof *p = 48
</syntaxhighlight>
;
</syntaxhighlight>
:{{code|(*p)}}と{{code|( )}}で括らないとポインターの配列の配列になってしまうので、{{code|( )}} は必須です。
:
== 構造体配列のポインター ==
|