【Cpp】文字列の値を生成する""の扱い

目次

文字列の値を生成する””の扱い

“”を使用して生成する文字列はポインタに代入するときと、char配列の初期化に使用するときで挙動が変わります

  • charポインタに代入 : リテラル文字列
  • char配列の初期化 : char配列

ポインタに代入する場合

ポインタに””で文字列を代入する場合、その文字列はリテラル文字列として扱われます。

リテラル文字列は書き換えることのできない、静的なデータとして扱われます。

静的な文字列なので、const char*型の変数に代入する必要があります。

1
2
3
4
5
6
7
8
9
//  変数にリテラル文字列を指定したい場合
const char* data = "データ";

// 引数や戻り値にリテラル文字列を指定したい場合
const char* Test(const char* value){
// valueを使用する処理

return "処理終了";
}

配列の初期化に使用する場合

配列の初期化に使用する場合は、普通の配列になります。

普通の配列なので、書き換える事もできます。

1
2
char test[] = "データ";   //  データ
test[0] = 'D'; // Dータ
Author

Daiki Iijima

Posted on

2021-09-25

Updated on

2024-04-17

Licensed under