ダブルクォーテーション""で囲まれた文字列を文字型リテラルと呼ぶ。この文字型リテラ
ルを使うと、その文字列がメモリーのどこかに格納されて、その先頭アドレスを返す。実
際の例を、リスト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の文字を表示することも可能である。