#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;
}
字符串常量和变量区别
最新推荐文章于 2024-07-24 08:41:56 发布