ポインタの*記号は変数タイプに近いか変数名に近いか

592 ワード

Cシリーズ言語でポインタを使用すると、必ず*演算子が使用されます.次に、変数タイプに近いもの、変数名に近いものなど、異なる定義が表示されます.
全体として、*がどちらに近づくかで、コンパイラはポインタ変数と考えられるので、本質は同じです.しかし、2つの形式には異なる利点があります.
  • pはintタイプのポインタである.
  • int* p;
    
  • ポインタpはintタイプ
  • である.
    int *p;
    

    実際にはintタイプのポインタです
    コントラスト
    しかしint*pというタイプは,より多くの変数名を定義すると誤解しやすい.例:
    int* p, q;
    

    この文の意味はpがint型ポインタ変数であり,qはint型変数にすぎない.この形式は次のとおりです.
    int *p, q;//  int *p, int q
    

    したがって、この場合、変数タイプではなく変数名に*を近づけることができます.次のようになります.
    int *p, q;
    

    誤解を避ける.