シングルクオーテーションとダブルクオーテーションの使い分け
文字のときは「’」(シングルクオーテーション)
文字列のときは「”」(ダブルクオーテーション)を使う
サイズの違い
ダブルクオーテーションの場合、
最後にNULL(\0)がつくので、”a”のデータサイズは「2バイト」となる。なので
char data[1] = "a"
とするのは2バイトの文字列があるので誤り。’a’であれば1バイトなのでOK。
文字列の最後には必ずNULLがつく。
文字列を出力するときにNULLがないと終わりかわからないので、使われていないメモリも読み込まれて文字化けする。