これまで、文字列をchar型の配列に格納する方法を見てきた。
C言語の基礎(文字列の基本)
文字列は、文字の配列である。そのため、文字列を扱うということは、配列を扱うことになる。
文字列へのポインタは、配列へのポインタである。
ここでは、その確認をかねて、文字列へのポインタを扱う具体例をみてみる。
#include <stdio.h>
int main(void)
{
char str[] = "ABC";
char *s = str;
s[0] = 'X';
s[1] = 'Y';
printf("%s",str);
return 0;
}
実行結果
XYC
変数sはchar型のポインタで、char型の値のアドレスを格納できる。
char *s = str;
のように、配列の変数名だけを記述した場合、その先頭の要素のアドレスを表す。
すると、s[0]、s[1]、s[2]で、それぞれ、str[0]、str[1]、str[2]を参照できる。
s[0]とs[1]に文字を代入しているが、これは、strが表す文字列の先頭と2番目の文字を変更している。
(参考)「C言語 新版 ゼロからはじめるプログラミング」 三谷 純 (著) 翔泳社、
「新・明解C言語 入門編 第2版 」柴田 望洋 (著) SBクリエイティブ
コメント