中易网

C++字符串变量问题

答案:3  悬赏:20  
解决时间 2021-02-26 19:27
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
string str1="meng",str2="qiu";
cout < char *p=str1;
}

书上说“每个字符串变量不直接存放某个字符串,而是存放了某个字符串的地址”。
我这样理解,既然字符变量存放的是地址,那么他就是指针变量(常量),是指针变量就可以相互赋值,为什么最后一句语句却报错?
还有一个问题,如果 cout <
最佳答案
  • 二级知识专家网友:留下所有热言
  • 2021-02-26 07:17
string是一个封装过的类型,固有一定的结构,不是基本类型,不可以赋值给char型指针
如果你定义char str1[]="meng", 就可以char *p=str1;
全部回答
  • 1楼网友:孤伤未赏
  • 2021-02-26 09:19
#include 然后在程序当中定义变量a就行了呀。 字符变量用 char a; 字符串变量定义用 string a;
  • 2楼网友:邪性洒脱
  • 2021-02-26 08:15
首先:一个易懂理解。你把string就当成一个类型,不过不是基本数据类型,是一个封装好的类,其实就是一个字符数组,只不过多了一个结束符\0。 其次:你说为什么不能赋值?有了上面的理解,str1是string类型你非要把它赋给一个char型的 肯定编译报错类型转换啦,,更谈不上你把一个类的对象赋给一个非此类的指针。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯