C++ char和string的区别

本文详细介绍了C++中char与string类型的使用区别,包括它们的定义方式、内存分配及赋值操作等内容,并强调了string作为类与普通字符串的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'a'是char, "a"是char string,这两者都是普通的字符和字符串,和C中没什么不同 值得注意的是后者包含两个字符,末尾有一个隐身的'\0'
而:string str = "a" 是C++ string 注意:C++中的char string和string不是一回事
当用到了"string"这个关键词,就不是普通的字符串,而是用到了封装后的类
在C++中,char仍然是一个primitive type(原始类型),而string已经经过封装,成为了一个class(类) 用到它时,我们需要 #include <string>,它是C++ Standard Library (C++标准库)的一部分
string这个类包括很多成员函数,比如push_back(), insert(), append()等, 详情见: http://www.cplusplus.com/reference/string/string/

1.如何给char*赋值
1.1 char* 字符串常量赋值

char*p="abc";//因为abc是个字符常量,在常量区,p在栈中;
p[0]是无法修改字符常量的,但是p可以重新定向; p="bcd";
char name[20];name="abc";//出错,因为name是个地址常量,系统不允许它赋值。

1.2 char* new分配地址赋值

char*p=NULL;
p=new char[100];
cin>>p;

2.如何给char**赋值

第一步:必须用new给二级指针分配地址
char**s=NULL;
s=new char*[3];
第二步:按照char*的方式赋值
1。字符常量赋值
s[0]="abc";
s[1]="cbd";
2. new分配地址
for(int i=0;i<3;i++)
{
s[i]=new char[100];
}




转载于:https://www.cnblogs.com/limera/p/charPointer.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值