第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の場合で、
C言語
同様なことが5回繰り返されますから、
最終的には**aの箱が6×5用意されます。
ですから、6行5列の配列になるのです。

ポインタのポインタのポインタを利用すると、
3次元配列が用意できます。実行画面が
基礎
となるようにソースを変更しましょう。

第7話へ 第9話へ


戻る


VB講義へ
VB講義基礎へ

vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)