引入
上面我们引入了很多例子,发现字符指针和字符数组仿佛使用起来差不多,真的是这样嘛?其实并不是,我们来细数字符指针和字符数组之间的区别吧!
组成
字符指针和字符数组的组成上,有很大的不同。
字符指针:存放的是地址,是字符串首元素的地址。
字符数组:存储的是数组中的所有元素。
赋值方式
字符指针:我们可以对指针赋值,赋值一个新的地址给指针。
字符数组:我们不能给一个数组名赋值,职能给某一个数组元素赋值。
//对字符指针变量赋值;
char *a="Hello!";
a="Hello"; //注意,这里不是*a,因为要把这个字符串的首地址给 a,a 是指针,只能接收地址。
//对字符数组赋值
char str[20]="Hello!";
str[2]="C";
//下面的方式就是错误的
str="I am Chinese!"
我们无法对数组名直接赋值。