1 char* cp="hello";
如果包含上述语句,在编译时会出现警告,警告信息如下
虽然上述代码可以编译通过,我们也可以无视警告,但是如果有一行带入如下,就出在运行时出现段错误
1 cp[0]='a';
如果代码改成如下代码就ok了
1 const char* cp="hello";//“hello”字面值是一个常量字符数组
如果还用cp[0]='a';这条语句去修改常量字符数组的第一个值,编译就会处错误
char cp[]="hello";
这行代码,是先创建一个字符数组,然后把字面值拷贝到字符数组,此时是可以随便修改字符数组cp;
综上所述,我们可以得出如下结论,字符数组的字面值是一个const char* 的类型,不可以修改。