• ベストアンサー

初心者で申し訳ありませんが

C++で、*p ←変数だと思いますが、このアステリスクはどういった意味があるのですか? char *p;

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

  • ベストアンサー
  • ysk6406
  • ベストアンサー率40% (237/589)
回答No.1

* は、「ポインタ」です。 ポインタとは、一言で言えば、ある実体を指すアドレスのことです。 この場合、char *p; とは、どこかの char 型の実体を指すアドレスの入れ物を p と定義する、ということです。 これは C++ だけの機能ではなく、C でも同じものがあります。 まず、C の基礎から勉強されることをお勧めします。 ネット上でもいくらでも解説が見つかりますが、1つ挙げておきます。

参考URL:
http://www9.plala.or.jp/sgwr-t/c/sec10.html
saruyamamonki
質問者

お礼

ありがとうございました。 極めて勉強します。

その他の回答 (2)

  • nitscape
  • ベストアンサー率30% (275/909)
回答No.3

"指し示す先"という意味で"ポインタ"と呼ばれます。 char p; とあれば、pには"文字"が入ります(代入します)。 char *p; の場合は、pにはメモリ上の"アドレス"が入ります。そしてそのアドレスが示すメモリに文字が入っています。このとき、*pとあるとその文字を示します。 難しいかも知れませんが...Googleなどで"ポインタ"を検索するともう少し分かりやすい説明がヒットするかもしれません。

回答No.2

*pはポインタpの指す先の変数を表します。 ポインタとはデータのある「場所」のことです。 p自体は場所なのですが、*を前につけることでその場所にある値を意味します。 ポインタに関しては、プログラミング自体にあまり詳しくないようであるなら、ここで変に学ぶより本などで体系的に理解した方がいいと思います。

関連するQ&A

専門家に質問してみよう