#include
#include
using namespace std;
int main(){
string s1 = “abc”;//字符串变量
char* s2 = “abc”;//字符串常量,先在常量区存储"abc",s2直接指向常量区的"abc"
char s3[] = “abc”;//字符数组,先在常量区存储"abc",然后在栈区申请内存空间,将"abc"复制过来,s3指向栈区的"abc"
// s1[0] = ‘q’;//正确,
// s2[0] = ‘q’;//错误,s2所指向内容是常量,不能修改
// s3[0] = ‘q’;//正确
// s1 = “abcd”;//正确
// s2 = “abcd”;//正确,s2指向另外一个字符串常量
// s3 = “abcd”;//错误,s3是数组名,相当于指针常量,指向不能改变
cout << s1 << s2 << s3 << endl;
return 0;
}
作者:楼兰剑客
来源:CSDN
原文:https://blog.csdn.net/vaemusicsky/article/details/81703336
版权声明:本文为博主原创文章,转载请附上博文链接!