4
文字配列を文字列として使用するにはどうすればよいですか?
Cの文字列は単なる文字配列であることを理解しています。そこで、次のコードを試しましたが、ガベージ出力やプログラムのクラッシュなど、奇妙な結果が得られました。 #include <stdio.h> int main (void) { char str [5] = "hello"; puts(str); } なぜこれが機能しないのですか? できれいにコンパイルされますgcc -std=c17 -pedantic-errors -Wall -Wextra。 注:この投稿は、文字列を宣言するときにNULターミネーター用のスペースを割り当てられなかったことから生じる問題の標準的なFAQとして使用することを目的としています。