スポンサーリンク
char型で文字列を宣言時に初期化する5つの方法
文字列の初期化方法は、時間が経つとすぐに忘れてしまうんですよね。
いくつか選択肢もあって迷う時もあるので、まとめてみました。
まずは、charのポインタで文字列を宣言して初期化しています。
char* str1 = "string";
charの配列で初期化しています。
要素数は省略する方法ですね。
char str2[] = "string";
要素数を指定して、charの配列で初期化しています。
要素数が文字数(終端文字含む)内に収まっていることにも注意が必要です。
char str3[7] = "string";
charの配列で1文字ずつ初期化しています。
終端文字の入れ忘れに注意が必要ですね。
char str4[] = {'s', 't', 'r', '\0'};
要素数を指定して、charの配列で1文字ずつ初期化しています。
char str5[4] = {'s', 't', 'r', '\0'};
スポンサーリンク
サンプルコード
下記がサンプルコードになります。
$ cat sample.c #include <stdio.h> #include <string.h> int main(){ char* str1 = "string"; printf("%s\n", str1); char str2[] = "string"; printf("%s\n", str2); char str3[7] = "string"; printf("%s\n", str3); char str4[] = {'s', 't', 'r', '\0'}; printf("%s\n", str4); char str5[4] = {'s', 't', 'r', '\0'}; printf("%s\n", str5); return 0; } </string.h></stdio.h>
下記が実行結果になります。
$ gcc -o sample sample.c $ ./sample string string string str str
スポンサーリンク