您好、欢迎来到现金彩票网!
当前位置:21点 > 字符发生器 >

C++中请问字符串结尾的20是怎么来的?

发布时间:2019-07-22 05:48 来源:未知 编辑:admin

  0是C++中字符串的结尾标志,存储在字符串的结尾,它虽然不计入串长,但要占一个字节的内存空间。在百度百科中查看0词条,会有这样一句话:c/c++中规定字符串的结尾标志为0。有人可能认为,在C语言里(C++会不同),0并不是字符型,而是int型。在这里,我们姑且和百度词条作者保持一致,认为0与0是等价的。由于不同处理器的位数不同,0并不一定是8位的00000000。实际上,由于不同处理器的位数不同,sizeof(int)返回的结果也都不同,而sizeof(char)返回结果一般是1,对8位机来说,一个字节由8位组成,16位机一个字节由16位组成,我们通常用的电脑通常是32位的,即一个字节由32位组成,现在已经是64位机了。CPU一般是以字节为单元进行读取的。但是一般情况下大家还是认同1Byte等于8bit的说法,因为这是构成的最小位数。

  在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。字符串总是 以0作为串的结束符。因此当把一个字符串存入一个数组时,也把结束符 0存入数组,并以此作为该字符串是否结束的标志。有了0标志后, 就不必再用字符数组的长度来判断字符串的长度了。

  但是……也有一些例外情况发生。比如,假设我们指定了数组长度但数组长度不够。

  另外,如果在给数组赋值时,把每个字符单独用引号括起来,也会丢失0。

http://magaltouba.com/zifufashengqi/332.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有