牛、豚、鶏、どれか一つ食べられなくなるとしたら?

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

char *p;

A 回答 (3件)

* は、「ポインタ」です。


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

ネット上でもいくらでも解説が見つかりますが、1つ挙げておきます。

参考URL:http://www9.plala.or.jp/sgwr-t/c/sec10.html
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/10/28 20:59

"指し示す先"という意味で"ポインタ"と呼ばれます。



char p;
とあれば、pには"文字"が入ります(代入します)。

char *p;
の場合は、pにはメモリ上の"アドレス"が入ります。そしてそのアドレスが示すメモリに文字が入っています。このとき、*pとあるとその文字を示します。

難しいかも知れませんが...Googleなどで"ポインタ"を検索するともう少し分かりやすい説明がヒットするかもしれません。
    • good
    • 0

*pはポインタpの指す先の変数を表します。



ポインタとはデータのある「場所」のことです。
p自体は場所なのですが、*を前につけることでその場所にある値を意味します。

ポインタに関しては、プログラミング自体にあまり詳しくないようであるなら、ここで変に学ぶより本などで体系的に理解した方がいいと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!