ホームページ >バックエンド開発 >C++ >C/C ポインタ宣言: `char* p;` と `char *p;` – 違いは何ですか?

C/C ポインタ宣言: `char* p;` と `char *p;` – 違いは何ですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-25 21:53:22240ブラウズ

C/C   Pointer Declaration: `char* p;` vs. `char *p;` – What's the Difference?

C/C でのポインター変数の宣言 : 構文の明確化

C と C のポインターの領域には、構文上の小さなバリエーションが存在します。それは、ポインター宣言におけるアスタリスク (*) の配置についての議論を引き起こしました。プログラマの中には、(a):

char* p;

という表記を選択する人もいますが、(b):

char *p;

を好むプログラマもいます。これら 2 つの異なる表記の背後にある理論的根拠は何ですか?

C の作成者である Bjarne Stroustrup が、この問題に光を当てています。彼は、選択は正しさではなく、文体の好みとプログラミングの重視にかかっていると説明しています。

C では、式は宣言よりも優先され、宣言はそれほど重要ではないと見なされていました。ただし、C は型を重視します。

C プログラミング スタイルの支持者は、"*p" が C の構文構造に沿ったポインタの間接参照値を表すと主張して、表記法 (a) を支持します。

一方、C プログラミング スタイルの支持者は、ポインタの型を強調する表記 (b) を好みます。変数そのもの。表記 (b) の "p" の型は明示的に "int*" として識別され、整数へのポインタとしてのその役割を強調しています。

可読性の観点からは、表記 (b) は特に一貫性があるように見えます。複数のポインタを 1 行で宣言する場合。 「char c, d」のように変数にアスタリスクを付けると、「c」と「d」の両方が文字へのポインタであるという直感と一致します。

最終的には、決定が下されます。表記 (a) と (b) の間は個人的な好みの問題です。ただし、C の普及が進み、型が重視されることを考慮すると、コードの明確さと可読性を高めるために、一般に表記法 (b) が推奨されます。

以上がC/C ポインタ宣言: `char* p;` と `char *p;` – 違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。