私はちょうどポインタについての基本的なアイデアを持っています。 int *v;
とint **v;
の違いは何ですか?int* v;
とint *v;
の間に違いがありますか教えてください。変数に対して1つの排他演算子と2つの逆参照演算子を使用する違いは何ですか?
-6
A
答えて
12
変数宣言内の*
は、変数が宣言された後で*
と同じことを意味しません。宣言では、*
は、宣言されている変数が、宣言している型の値へのポインタであることを示しています。
int **v;
がint
値へのポインタへのポインタの宣言であるあなたの例では、
int *v;
は、int
値へのポインタの宣言です。
しかし、後に宣言した後、あなたのコードでは、あなたがして、ポインタが指すメモリ位置に格納された値をそのポインタを参照解除に
*v
を呼び出して、得ることができます。
int* v
とint *v
の間に違いはありませんが、同じ行に複数の変数を宣言する場合は、int *v
を使用する方がはっきりしています。
int *v, u
あなたの意図について、もう少し明確にされて終わるの書き込み中u
が、ちょうどその宣言から不明瞭かもしれint
、あるとき
int* v, u
v
でint
へのポインタが(作りですv
int
ポインタu
はちょうどint
)。
関連する問題
- 1. 参照演算子と参照解除演算子について理解していますか?
- 2. VBScriptの+演算子と&演算子の違いは何ですか?
- 3. 演算子+混乱(参照対ポインタ)
- 4. 定数参照を返す演算子
- 5. PythonでAND演算子とNOT演算子を使用する
- 6. C++での演算子のオーバーロードと逆参照
- 7. 1つの変数に対する複数の比較演算子?
- 8. If文で演算子2演算子を使用できますか?
- 9. 同じクラスの代入として、逆参照としての()演算子と=演算子の両方をオーバーロードすることはできますか?
- 10. 演算子( - - )()演算子C#
- 11. 演算子if演算子
- 12. 演算子を使用せずに2つの数値を加算する
- 13. テンソルフローでは、tf.addと演算子(+)の違いは何ですか?
- 14. 逆参照せずにポインタ上の演算子を実行
- 15. new演算子と参照エラー
- 16. Juliaの "=="と "==="比較演算子の違いは何ですか?
- 17. プロメテウスの=と=〜演算子の違いは何ですか?
- 18. XOR演算子とstd :: ostream演算子
- 19. Xval演算子と比較演算子?
- 20. 共有ポインタ[]演算子と++演算子
- 21. ":"演算子は代入演算子 "="と同等ですか?
- 22. ||演算子は=演算子と同じですか?
- 23. new演算子とClass.newInstance()の違いは何ですか?
- 24. C++ *&演算子の参照先アドレス?
- 25. PHPの等価比較演算子と同一比較演算子の違いは何ですか?
- 26. は、Invoke演算子&演算子はKotlin
- 27. なぜ算術演算子とアクセス演算子を使用するときにアップキャストするのですか?
- 28. プリインクリメント演算子を使用したポインタの逆参照へのポインタ
- 29. ()=>演算子とは何ですか?
- 30. ##演算子とは何ですか?
初心者のCチュートリアルを読んでください。あなたの質問の内容は、 "私はちょうどポインタに関する基本的な考え方を持っている"という声明に賛成です。 –
'int * a'と' int * a'と 'int * a'には違いはありません。次に、ポインタを逆参照すると、別のポインタで終わることがあります。ポインタは、そのポインタが指す値を取得するために逆参照する必要があります。このプロセスは何度も何度も繰り返され、悪夢のようなものになります。「***** a;」や「********* b」。 – ForceBru
[What is sense-char \ * stringまたはchar \ * string?](http://stackoverflow.com/questions/558474/what-makes-more-sense-char-string-or-char-)の可能な複製は、文字列) – DevNull