34-指针与字符串
1、字符串指针
在C语言中,可以用两种方法访问一个字符串
1)字符数组
char string[]="I love China!";
printf("%s\n",string);
说明:和前面介绍的数组属性一样,string是数组名,它代表字符数组的首地址。
2)字符串指针指向字符串
char *变量名="字符串内容";
对指向字符变量的指针变量应赋予该字符变量的地址。
如:
char c,*p=&c;
表示p是一个指向字符变量c的指针变量。
而:char *s="C Language";
则表示s是一个指向字符串的指针变量。把字符串的首地址赋予s。
2、字符串指针定义和初始化
定义的同时进行初始化
char *ps="C Language";
等效于:
char *ps;
ps="C Language";
注意:
1、使用字符数组来保存的字符串是保存在栈里的,保存在栈里面的东西是可读可写的,所以我们可以改变里面的字符,当把一个字符串常量赋值一个字符数组的时候,那么它会把字符串常量中的没有字符都放到字符数组里面
2、使用字符指针来保存字符串,它保存的是字符串常量地址,常量区是只读的,所以我们不可以修改字符串中的字符。
人生之路,不忘初心,勿忘始终!