1、字符串指针
在C语言中,可以用两种方法访问一个字符串
1)字符数组
char string[]=”I love China!”;
printf("%s\n",string);
说明:和前面介绍的数组属性一样,string是数组名,它代表字符数组的首地址。
2)字符串指针指向字符串
char *变量名="字符串内容"; //"字符串内容"是常量
har *str="abc"
char ch = 'b';
char *p1 = &ch;
字符串指针变量的定义说明与指向字符变量的指针变量说明是相同的。只能按对指针变量的赋值不同来区别。对指向字符变量的指针变量应赋予该字符变量的地址。
如:
char c,*p=&c; 表示p是一个指向字符变量c的指针变量。
而:
char *s="C Language"; 则表示s是一个指向字符串的指针变量。把字符串的首地址赋予s。
字符串指针定义和初始化
定义的同时进行初始化
char *ps="C Language"; 等效于:
char *ps;
ps="C Language";
注意:
1、使用字符数组来保存的字符串是保存栈里的,保存栈里面东西是可读可写,所有我 们可以改变里面的字符当把一个字符串常量赋值一个字符数组的时候,那么它会把字符串常量 中的没有字符都放到字符数组里面
2、使用字符指针来保存字符串,它保存的是字符串常量地址,常量区是只读的,所以我们不可以修改字符串中的字符
2、字符串指针使用注意
1)可以查看字符串的每一个字符
2)不可以修改字符串内容
3)妙用字符串指针
将指针变量指向一个格式字符串,用在printf函数中,用于输出二维数组的各种地址表示的值。但在printf语句中用指针变量PF代替了格式串。 这也是程序中常用的方法
4)不能够直接接收键盘输入 |
|