- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポインタ配列のアドレスについて)
ポインタ配列のアドレスについて
このQ&Aのポイント
- ポインタ配列のアドレスはデータ型に関わらず4つずつずれる理由は何でしょうか?
- アドレスを求めるプログラム自体に問題があるのでしょうか?
- ポインタ配列のアドレスの取得方法について知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ポインタはメモリの中の場所を示すものなんで、その指した場所の型がなんであれ同じ大きさです(メモリ空間の大きさに依存)。 お使いの環境では、ポインタ型のサイズが4バイトなんだと思います。
その他の回答 (1)
- notnot
- ベストアンサー率47% (4900/10358)
回答No.2
#1です。 >普通のポインタは基本的にマシンにもよりますがint型なら4バイトchar型なら1バイトとアドレスもそれぞれその型のバイト数ずつ飛びますよね、ポインタ配列だけが特別なんですか? char a[]={...}; なら、a を構成するのはchar型ですが、 char *a[]={...}; なら、a を構成するのはポインタ型です。 「int型なら4バイトchar型なら1バイト」と同じく、「ポインタ型なら(この環境では)4バイト」ということです。
質問者
お礼
なるほど良くわかりました。即レスありがとうございました。
補足
普通のポインタは基本的にマシンにもよりますがint型なら4バイトchar型なら1バイトとアドレスもそれぞれその型のバイト数ずつ飛びますよね、ポインタ配列だけが特別なんですか?