#include<stdio.h>
int main()
{
char*p = "123456789";
p[0] = 'a';
return 0;
}
调试结果:
可以看到,无法对p指针指向的地方写入。
再看下面的代码:
#include<stdio.h>
int main()
{
//char*p = "123456789";
//p[0] = 'a';
char p[] = "123456789";
p[0] = 'a';
return 0;
}
可以看到这个时候p作为字符串数组,p所指向的内存地址可以写入了。
总结:字符串指针无法对字符串进行写入覆盖,字符数组可以写入覆盖数组里的字符。