文字列配列の初期化とサイズ
文字配列の初期化は、文字列リテラルを使用すると最後に NUL 文字が付与されます。
#include <stdio.h> int main(int argc, char *argv[]) { char a[] = "abcde"; char b[] = {'A', 'B', 'C', 'D', 'E'}; printf("a:%d b:%d\n", sizeof(a), sizeof(b)); return 0; }
実行結果。
a:6 b:5
文字配列の初期化は、文字列リテラルを使用すると最後に NUL 文字が付与されます。
#include <stdio.h> int main(int argc, char *argv[]) { char a[] = "abcde"; char b[] = {'A', 'B', 'C', 'D', 'E'}; printf("a:%d b:%d\n", sizeof(a), sizeof(b)); return 0; }
実行結果。
a:6 b:5