TECH I.S.

C 文字列


文字列

文字列は、文字(テキスト)を格納するために使用されます。

たとえば、「He​​llo World」は文字列です。

他の多くのプログラミング言語とは異なり、C には文字列変数を簡単に作成するための String 型がありません。 代わりに、C で文字列を作成するには、char 型を使用して文字の配列を作成する必要があります。

char greetings[] = "Hello World!";

二重引用符("")を使用する必要があることに注意してください。

文字列を出力するには、printf() 関数を書式指定子 %s とともに使用して、現在文字列を処理していることを C に伝えることができます。

char greetings[] = "Hello World!"; printf("%s", greetings);

自分で試してみる »


アクセス文字列

C では文字列は実際には配列であるため、角括弧 [] 内のインデックス番号を参照することで文字列にアクセスできます。

この例では、"Hello World!"の最初の文字 (0) を出力します。

char greetings[] = "Hello World!"; printf("%c", greetings[0]);

自分で試してみる»

単一の文字を出力するには%c書式指定子を使用する必要があることに注意してください。


文字列を変更する

文字列内の特定の文字の値を変更するには、インデックス番号を参照し、一重引用符(' ')を使用します。

char greetings[] = "Hello World!"; greetings[0] = 'J'; printf("%s", greetings); // Outputs Jello World! instead of Hello World!

自分で試してみる»


文字列をループする

for ループを使用して、文字列の文字をループすることもできます。

char carName[] = "Volvo"; int i; for (i = 0; i < 5; ++i) {   printf("%c\n", carName[i]); }

自分で試してみる »


文字列を作成する別の方法

上記の例では、「文字列リテラル」を使用して文字列変数を作成しました。これは、C で文字列を作成する最も簡単な方法です。

また、一連の文字で文字列を作成できることにも注意してください。この例は、このページの最初の例と同じ結果を生成します。

char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'}; printf("%s", greetings);

自分で試してみる»

末尾に \0 文字を含める理由これは「ヌル終了文字」と呼ばれ、このメソッドを使用して文字列を作成するときに含める必要があります。これが文字列の終わりであることを C に伝えます。


2つの方法の違い

文字列を作成する 2 つの方法の違いは、最初の方法の方が記述が簡単で、C が自動的に行うため \0 文字を含める必要がないことです。

両方の配列のサイズが同じであることに注意してください。どちらも \0 文字を含む 13 文字です (ちなみに、スペースも 1 文字としてカウントされます)。

char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'}; char greetings2[] = "Hello World!"; printf("%lu\n", sizeof(greetings));   // Outputs 13 printf("%lu\n", sizeof(greetings2));  // Outputs 13

自分で試してみる »



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細