char* と char[] の違いを理解する
C プログラミングで文字配列とポインタを扱うときは、 char str[] = "Test"; の基本的な違いおよび char *str = "Test";.
char str[] = "Test";
この宣言では、str は文字 (char) の配列を表します。固定サイズで、文字列「Test」の内容で初期化されます。配列は独自のメモリを所有し、元の文字列リテラルとは異なります。 str を変更すると、「Test」文字列自体ではなく、データのローカル コピーが変更されます。
char *str = "Test";
ここでは、strはポインタ、具体的には文字列リテラル「Test」の最初の文字へのポインタです。ポインタには、この文字のメモリ アドレスが格納されます。ただし、str は文字列が格納されるメモリを所有していないことを覚えておくことが重要です。代わりに、読み取り専用 (const) 文字列リテラルを指します。したがって、str が指す文字列を変更しようとすると、未定義の動作が発生します。
主な違い:
以上がC の `char*` と `char[]` の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。