ダブルクォーテーション""で囲まれた文字列を文字型リテラルと呼ぶ。この文字型リテラ
ルを使うと、その文字列がメモリーのどこかに格納されて、その先頭アドレスを返す。実
際の例を、リスト4に示す。たぶん、プログラムを見れば、その結果は
予想できるであろう。
1 #include <stdio.h> 2 3 int main(void){ 4 5 char *p; 6 7 p="Hello World !!"; 8 9 printf("%s\n", p); 10 11 return 0; 12 }
Hello World !!
鋭い学生は、配列を使わないで、文字列を取り扱っているところに気が付くであろう。 昨年の講義では、文字列を扱うためには配列を使わなくてはならな いと述べた。そして、任意の文字列を配列に代入するためには、spfintf()あるいはstrcpy()関数を用いる必要があり、代入演算子は使えないと述べたはずである。。
しかし、ここでは配列を使わないし、代入演算子で文字列を代入している。このプログラ ムの7行目は、次のように動作するのである。
ポインターpは、配列名と同じなので、
printf("%c",p[0]);として、Hの文字を表示することも可能である。