#include <stdio.h> main() { char a[10]; char *b, *b1; a[0] = 'a'; a[1] = 'l'; a[2] = 'p'; a[3] = 'h'; a[4] = 'a'; a[5] = '\0'; /* 終の印 単に 0 でもよい */ printf("%s\n", a); /* alpha と表示される */ b = a; /* b = &a[0];と書いても同じ */ printf("%s\n", b); /* alpha と表示される */ /* 上の b = a は先頭アドレスを代入しているだけなので 配列 a の内容を変更すると printf("%s\n",b);で表示 される内容も変わる */ a[0] = 'A'; printf("%s\n", b); /* Alpha と表示される */ /* "alpha" と書くと、上の a[?] のように 'a' 'l' 'p' 'h' 'a' '0' がこの順に入った 名前のない配列が確保され、そのアドレスを示す */ b = "alpha"; /* '最初の a' の入った場所のアドレスが b に代入される */ printf("%s\n", b); /* alpha と表示される */ /* また、書式文字列を次のように与えることもできる */ b1 = "%s\n"; printf(b1, b); b1 = "<%s>\n"; printf(b1, b); }