Menu
Coddy logo textTech

Cスタイル文字列 パート2

CoddyのC++ジャーニー「基礎」セクションの一部 — レッスン 68/74。

特定のサイズでC言語スタイルの文字列を宣言する場合、格納したい文字に加えて、ヌル文字(null character)用にもう1つ分のスペースを確保する必要があることを覚えておくことが重要です。

例えば:

// 正しい例:"Hello" には6文字分のスペースが必要です
// (5文字 + '\0')
char str1[6] = "Hello";
// 誤り:配列が小さすぎます!
// "Hello" には6つのスペースが必要ですが、5つしか指定されていません
char str2[5] = "Hello";
// エラー:コンパイルされません - 6文字('H','e','l','l','o','\0')に対して5つのスロットしかありません
// 正解:余分なスペースがあっても問題ありません
// 十分なスペースがあります(10 > 6 必要)
char str3[10] = "Hello";
// 文字数を示す例:
char name[5] = "John";  // 5つのスペースが必要です:
// J + o + h + n + '\0' = 5文字

Cスタイルの文字列内の個々の文字には、配列記法を使用してアクセスできます:

char str[] = "Hello";
char first = str[0]; // 'H'
char third = str[2]; // 'l'

配列の境界を超えない限り、Cスタイルの文字列内の文字を変更することもできます:

char str[] = "Hello";
str[0] = 'J';
std::cout << str; // "Jello" を出力します

しかし、C言語スタイルの文字列を宣言した後に、新しい文字列を直接代入することはできません。文字列をコピーするには、strcpyのような関数を使用する必要があります。これについては、後のレッスンで詳しく説明します。

自分で試してみよう

このレッスンにはコードチャレンジは含まれていません。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン