#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);
}