• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポインタ配列のアドレスについて)

ポインタ配列のアドレスについて

このQ&Aのポイント
  • ポインタ配列のアドレスはデータ型に関わらず4つずつずれる理由は何でしょうか?
  • アドレスを求めるプログラム自体に問題があるのでしょうか?
  • ポインタ配列のアドレスの取得方法について知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

ポインタはメモリの中の場所を示すものなんで、その指した場所の型がなんであれ同じ大きさです(メモリ空間の大きさに依存)。 お使いの環境では、ポインタ型のサイズが4バイトなんだと思います。

tsukiyono
質問者

補足

普通のポインタは基本的にマシンにもよりますがint型なら4バイトchar型なら1バイトとアドレスもそれぞれその型のバイト数ずつ飛びますよね、ポインタ配列だけが特別なんですか?

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

#1です。 >普通のポインタは基本的にマシンにもよりますがint型なら4バイトchar型なら1バイトとアドレスもそれぞれその型のバイト数ずつ飛びますよね、ポインタ配列だけが特別なんですか? char a[]={...}; なら、a を構成するのはchar型ですが、 char *a[]={...}; なら、a を構成するのはポインタ型です。 「int型なら4バイトchar型なら1バイト」と同じく、「ポインタ型なら(この環境では)4バイト」ということです。

tsukiyono
質問者

お礼

なるほど良くわかりました。即レスありがとうございました。

関連するQ&A