第10講 ポインタのポインタの学習
第8話 ポインタのポインタでなぜ2次元配列と同様になるのか
int **a,i;
a=(int **)malloc(24);
for(i=0;i<6;i++)a[i]=(int *)malloc(16);
これがなぜ6行5列の2次元配列と同様になるのでしょうか。
まず、
a=(int **)malloc(24);
で24÷4=6個の*aについて参照できるようになります。
つまり、a[0] a[1] a[2] a[3] a[4] a[5]
の内容がaから参照できるようになるのです。
そして、for(i=0;i<6;i++)a[i]=(int *)malloc(16);
におけるi=0の場合で、
同様なことが5回繰り返されますから、
最終的には**aの箱が6×5用意されます。
ですから、6行5列の配列になるのです。
ポインタのポインタのポインタを利用すると、
3次元配列が用意できます。実行画面が
となるようにソースを変更しましょう。
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)