🔤 文字列
char c = "A"; で gcc: warning: initialization of 'char' from 'char *' makes integer from pointer without a cast [-Wint-conversion](C23モードのgcc 14以降は error)。printf("%s", c) は Segmentation fault。if (s == "abc") はいつも偽になります。
'A' は文字1個(int値65)、"A" は 'A' と \0 の2バイトの配列で、式の中ではその先頭番地になります。見た目は似ていても正体がまったく違います。
1文字はシングルクォート、文字列はダブルクォート。書式も %c と %s で使い分けます。文字列の中身を比べるときは strcmp(s, "abc") == 0 を使います(== は番地どうしの比較になってしまいます)。
もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。