C-Strings (日本語)
Advertisements
文字列は、実際にはヌル文字”\0″で終わる文字の一次元配列です。 したがって、ヌル終端された文字列には、文字列の後にヌルが続く文字が含まれます。
次の宣言と初期化は、単語”こんにちは”からなる文字列を作成します。, 配列の末尾にnull文字を保持するには、文字列を含む文字配列のサイズは、単語”Hello”の文字数よりも大きくなります。この文字列を含む文字配列のサイズは、こんにちは。”
char greeting = {"H", "e", "l", "l", "o", "\0"};
配列の初期化のルールに従うと、上記のステートメントを次のように書くことができます−
char greeting = "Hello";
以下は、c/C++で定義された上記の文字列のメモリ表示です−
実際には、文字列の最後にヌル文字を配置しませんコンスタントだ, Cコンパイラは、配列を初期化するときに、文字列の最後に”\0″を自動的に配置します。, 上記の文字列を出力してみましょう−
#include <stdio.h>int main () { char greeting = {"H", "e", "l", "l", "o", "\0"}; printf("Greeting message: %s\n", greeting ); return 0;}
上記のコードがコンパイルされて実行されると、次の結果が生成されます−
Greeting message: Hello
cは、nullで終わる文字列を操作する幅広い関数をサポートしています-
次の例では、上記の関数のいくつかを使用しています−
上記のコードがコンパイルされて実行されると、次の結果が生成されます次の結果-
strcpy( str3, str1) : Hellostrcat( str1, str2): HelloWorldstrlen(str1) : 10
広告