1. ホーム
  2. c++

[解決済み] ポインタ宣言におけるアスタリスクの位置付けについて

2022-10-04 04:54:40

質問

最近、C/C++を最終的に学ぶことにしたのですが、ポインタについて、より正確にはその定義について、よく理解できないことがあります。

これらの例についてはどうでしょう。

  1. int* test;
  2. int *test;
  3. int * test;
  4. int* test,test2;
  5. int *test,test2;
  6. int * test,test2;

さて、私の理解では、最初の3つのケースはすべて同じことをしています:Testはintではなく、intへのポインタです。

2 番目の例のセットは少しトリッキーです。ケース 4 では、test と test2 の両方が int へのポインタになりますが、ケース 5 では test のみポインタであるのに対し、test2 は "real"int、です。ケース6ではどうでしょうか?ケース5と同じですか?

どのように解決するのですか?

4,5,6は同じものです。 テスト だけがポインタです。もし2つのポインタが欲しいなら、使うべきです。

int *test, *test2;

あるいは、さらに良い(すべてを明確にするために)。

int* test;
int* test2;