字符数组字面值

1 char* cp="hello";

如果包含上述语句,在编译时会出现警告,警告信息如下

虽然上述代码可以编译通过,我们也可以无视警告,但是如果有一行带入如下,就出在运行时出现段错误

1 cp[0]='a';

如果代码改成如下代码就ok了

1 const char* cp="hello";//“hello”字面值是一个常量字符数组

如果还用cp[0]='a';这条语句去修改常量字符数组的第一个值,编译就会处错误

char cp[]="hello";

这行代码,是先创建一个字符数组,然后把字面值拷贝到字符数组,此时是可以随便修改字符数组cp;

综上所述,我们可以得出如下结论,字符数组的字面值是一个const char* 的类型,不可以修改。

原文地址:https://www.cnblogs.com/cplinux/p/5573987.html