◎C言語での文字列の扱い
例示プログラム
#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);
exit(0);
}
戻る