深入char buffer[]与string

                             char buffer[]

字符数组,char buffer[6]="hello";char数组末尾以'\0'结束,你在定义个char数组时一定要给结束符预留空间。hello占5个字节,所以你的char数组至少要6个字节,一个要留给系统自动添加的'\0'。你也可以自己添加结束符,例如:char buffer[6]={'h','e','l','l','o','\0'};

sizeof(buffer),算出的空间是声明中声明的大小。例如,char buffer[6]="hel";sizeof(buffer)=6;初了前三个元素依次为h,e,l,其它的都填充'\0';

                             string

string data=".........";不管给data赋给怎样的值,sizeof(string)恒等于32。

                         char buffer[]与string的联用

   char buffer[6] = "hello";

   string data=buffer;

   将字符数组赋给data,data只接受非空字符,当遇到空字符即'\0'时,就停止接受。

   因此,data.length()=5.

   若char buffer[6]="hel";buffer[4]='l';string data = buffer;

   则data.length=3。即data在遇到空字符后就停止继续接受后面的字符了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值