char str = "abcd";
初期化時には、このような感じで文字列を代入できる。
配列の要素数は、文字数 + 1{ヌル文字(0)} の数で設定される。⇒この場合は、5つ。
文字列を途中で追加(結合)する場合は、
strcpy(str, "efgh");
でできる。出力するとうまく行ったように見られるが、この例では、メモリ領域破壊を起こしているらしい。。
str配列 要素数:5
str ={'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'}; ←str配列の要素数よりも多くの要素が入っており、 'f', 'g', 'h' は領域破壊を
起こしている。
--
この場合の回避策として、
① 事前に、str配列初期化時に十分な要素数を確保しておく必要がある。(この場合は、9個以上)