ポインタのサイズ2
Posted: 2009年5月01日(金) 15:01
もう少しきちんと理解しておきたいのでご質問します。
int x[5];
int* p1 = x;
int(*p2)[5] = &x;
で
1,sizeof(x)
2,sizeof(&x);
3,sizeof(*x);
4,sizeof(p1);
5,sizeof(*p1);
6,sizeof(p2);
7,sizeof(*p2);
の値がどうなるか考えたいと思います。処理系がVisualC++6.0なのでintはサイズ4です。
1,ポインタが5個の配列の型はint *[5]で4x5=20
2,前質問でもありましたが、int(*)[5]で5個の配列へのポインタでサイズは4です。
3,型はint (**)[5]であくまでポインタなのでサイズは4?
4,型はint (**)[5]なので3と同じく4?
5,型はint (***)[5]で4?
6,型は・・??でサイズは??
7,型は・・??でサイズは??
1と2は合ってるとは思うのですが3,4,5は確信があやふやなのでご指摘いただければと思います。
6,7は型もサイズもわかりません。教えて下さい。
int x[5];
int* p1 = x;
int(*p2)[5] = &x;
で
1,sizeof(x)
2,sizeof(&x);
3,sizeof(*x);
4,sizeof(p1);
5,sizeof(*p1);
6,sizeof(p2);
7,sizeof(*p2);
の値がどうなるか考えたいと思います。処理系がVisualC++6.0なのでintはサイズ4です。
1,ポインタが5個の配列の型はint *[5]で4x5=20
2,前質問でもありましたが、int(*)[5]で5個の配列へのポインタでサイズは4です。
3,型はint (**)[5]であくまでポインタなのでサイズは4?
4,型はint (**)[5]なので3と同じく4?
5,型はint (***)[5]で4?
6,型は・・??でサイズは??
7,型は・・??でサイズは??
1と2は合ってるとは思うのですが3,4,5は確信があやふやなのでご指摘いただければと思います。
6,7は型もサイズもわかりません。教えて下さい。