-2

私の質問は、ポインター宣言に関する c 構文に関する簡単な質問です (希望します)。次のように、ポインターの宣言方法、使用方法、効果については十分に認識しています。

int *val_ptr;
int val =99;

val_ptr = &val;

しかし、私を混乱させているのは、C でポインターを宣言するときに、なぜ * インダイレクション (値) 演算子を使用するのでしょうか? & 演算子のアドレスではありません。ポインターを宣言している場合、アドレスを正しく宣言しているので、& を使用しても意味がありませんか? 例:

int & val_ptr;
int val =99;

val_ptr = &val;

私はそれが間違っていることを知っていますが、私の考えでは、より直感的に見えるでしょう. * 演算子の概念に欠けているのは何ですか。理由を説明しているテキストブックはまだ見つけていません。方法を示しているだけです。方法は知っていますが、その理由を知りたいです。

読んでくれてありがとう。

4

4 に答える 4

2

宣言は使用を模倣します。整数へのポインタがあり、ポイント先の値にアクセスしたい場合は、次の*ように演算子でポインタを逆参照します。

x = *p;

のタイプ*pint; したがって、 の宣言は次のようにpなります。

int *p;
于 2014-01-26T22:51:56.827 に答える