1999年度のプログラミングIIIの授業は終りました。 この授業のページは参照用の資料として保存しているものです。最新の情報・資料は江上の授業ページで。 |
ポインタ配列 |
ポインタ配列
d[0]
|
d[1]
|
d[2]
|
d[3]
|
d[4]
|
int *p[5];
p[0]
→ |
p[1]
→ |
p[2]
→ |
p[3]
→ |
p[4]
→ |
char *p[5]; ・・・ ポインタ配列 ・・・ 「矢印」は5つ
と
char (*p)[5]; ・・・ 配列へのポインタ ・・・ 「矢印」は1つ
は違う。
後者は2次元配列へのポインタ変数だと思えばよい
→2次元については次回
1次元 2次元 1次元配列の宣言[初期化];
ポインタ変数の宣言;
ポインタ変数名=配列名;2次元配列の宣言[初期化];
配列へのポインタの宣言;
ポインタ変数名=配列名;int a[5] = {10,20,30,40,50};
int *p;
p = a;int a[3][3] = {1,2,3,4,5,6,7,8,9};
int (*p)[3];
p = a;
[Q] char (*p)[5]; と宣言したポインタ変数を p++ で加算した場合、アドレスはいくら増えますか?
(確認のための簡単なプログラムを作ってみてください)