目录
1.字符串的引用方式
(1)两种方法
用字符数组存放一个字符串,可以通过数组名和下标引用字符串中一个字符,也可以通过数组名和格式声明”%S”输出该字符串。
用字符指针变量指向一个字符串常量,通过字符指针变量引用字符串常量。
(2)举例
例1
要求: 定义一个字符数组,在其中存放字符串"I love China",输出该字符串和第8个字符。
代码:
#include <stdio.h>
int main()
{
void fun_shuzu();
void fun_zfc();
fun_shuzu();
fun_zfc();
return 0;
}
void fun_shuzu() //数组
{
char string[]="I love china";
printf("%s\n",string);
printf("%c\n",string[8]); //输出string[8]=h
printf("%d\n",sizeof(string)); //长度为13,其中12个字节存放在"",第13个字节存放字符串结束字符'\0'
}
void fun_zfc() //字符串
{
char *string="I love china";
printf("%s\n",string);
printf("%c\n",*(string+8)); //输出string[8]=h
}
/**输出结果**/
I love china
h
13
I love china
h
(3)注意事项
char string[]="I love china";
//等价于
char *string;
string="I love china";
//不等价于
char *string;
*string="I love china"; //多了一个*号,string才是指针变量名
//可以对指针变量进行再赋值
string="Tom is a student";
- 定义string的行等价问题
- string被定义为一个指针变量,基类型为字符型。注意它只能指向一个字符类型数据,而不能同时指向多个字符数据,更不是把"I love China"这些字符存放到string中(指针变量只能存放地址),也不是把字符串赋给*string。只是把"I love China"的第1个字符的地址赋给指针变量 string。