#include <iostream>
using namespace std;
int main(void)
{
char a[] = "hello";
char *p = "world"; //此处的字符串常量,只读,不能修改其值
a[0] = 'w'; //字符数组可以被改变
cout<<a<<endl;
p[0] = 'w'; //此处错误
cout<<p<<endl;
return 0;
}运行上面的程序会出现下面的情况:
写错误
只有字符数组被修改了
结论:
字符数组:char a[] = "hello";
指向字符串的指针:char *p = "world"; 此时的字符串是只读,通过指针不能被修改。
本文探讨了C++中字符串常量与字符数组的区别,通过实例演示了如何修改字符数组的内容,以及为何不能直接修改字符串常量的值。了解这些概念对于避免编程时出现意外错误至关重要。

被折叠的 条评论
为什么被折叠?



