#include int main(void) { // 文字配列の初期化 char s[10] = "abc"; // これは特例としてOK.便利 // char s[10] = {'a', 'b', 'c', '\0'}; // これでも同じだが面倒 printf("初期状態 [%s]\n", s); // 文字配列への代入(文字配列の書き換え) // s = "de"; // これは無理.アドレス同士の代入になっている. // 左辺 s もアドレス(配列の先頭アドレス),右辺 "de" もアドレス. // 左辺はポインタ変数ではないので代入できない. s[0] = 'd'; // これはOKだが面倒 s[1] = 'e'; s[2] = '\0'; // 付け忘れそうだし... printf("代入後 [%s]\n", s); // 文字列同士の比較 if (s == "de") { // これはNG.アドレスを比較している(内容を比較していない) printf("BINGO\n"); } return (0); }