指针2

字符串的引用方式

在c程序中,字符串是存放在字符数组中的。想引用一个字符串,可以使用下面两种方式。

1.用字符数组存放一个字符串,可以通过数组名和下标引用字符串中一个字符,也可以通过数组名和格式声明“%s”输出该字符

例:11-1,定义一个字符数组,在其中存放字符串“I love Shiyanlou!”,输出该字符串和第10个字符。

编程如下:

int main()
{
 char string[]="I love Shiyanlou!";
 printf("%s\n",string);
 printf("%c\n",string[9]);

 return 0;

}
运行结果:

I love Shiyanlou!
i

2.用字符指针变量指向一个字符串常量,通过字符指针变量引用字符串常量

例11-1,通过字符指针变量输出一个字符串

编写代码:

int main()
{
   char * string="I love Shiyanlou!";
   printf("%s\n",string);    //这里为什么不用*string,因为在在c语言中只有字符变量,没有字符串变量
   return 0;
}
运行结果:

I love Shiyanlou!

对字符指针变量string初始化,实际上是把字符串第一个元素的地址赋给指针变量string,使string指向字符串的第一个字符。 有人误认为string是一个字符串变量,以为在定义时把“I love Shiyanlou!”这几个字符赋给该字符串变量,这是不对的。在c语言中只有字符变量,没有字符串变量。 在11-2以下语句中:

printf("%s\n",string); %s是输出字符串时所用的格式,在输出项中给出字符指针变量名string,则系统会输出string所指向的字符串第一个字符,然后自动使string加1,使之指向下一个字符,再输出该字符......如此直到遇到字符串结束标志'\0',因此再输出是能确定输出的字符到何时结束。

results matching ""

    No results matching ""