ホームページ >バックエンド開発 >C++ >C の `char* string` と `char *string` の違いは何ですか?

C の `char* string` と `char *string` の違いは何ですか?

DDD
DDDオリジナル
2024-11-29 08:08:14629ブラウズ

What is the difference between  `char* string` and `char *string` in C  ?

違いを理解する: char と char string

C で null で終わる文字列を宣言する場合、次の形式になります。この宣言には疑問が生じる可能性があります。オプションは「char string」または「char string」です。違いを理解するために、各宣言を詳しく見てみましょう。

"char* string":
この宣言では、"string" は文字へのポインターです。 「string」が文字のアドレスを保持していることを示します。基本的に、「string」自体は文字ではなく、文字を格納するメモリ位置を指すポインタです。

"char *string":
前の宣言とは異なり、ここでの「string」は単一の文字です。この宣言は、「string」が文字へのポインタではなく、それ自体が文字であることを暗示しています。

これらの区別に基づいて、「char* string」がより適切な宣言であることは明らかです。は、オブジェクトの性質を文字へのポインタとして表します。

後者の形式が一般的に見られる理由:
にもかかわらず「char string」はより論理的に意味があり、従来の形式である「char string」がよく使用されます。この慣行は、複数の変数を 1 行で宣言する際の潜在的な問題に起因しています。次のスニペットを考えてみましょう:

char* string1, string2;

この宣言は、「string2」もポインターであるか単一の文字であるかが不明瞭であるため、あいまいさを引き起こす可能性があります。このような混乱を避けるために、複数の変数を宣言する場合は「charstring」を使用し、「char string」を個々のポインター宣言用に確保することが一般的に受け入れられています。

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

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