字符串占内存大小“\”ABCD\""在内存中占用的字节数是

字符串常量5568在内存中的字节数是_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
字符串常量5568在内存中的字节数是
我有更好的答案
char*&str&&printf(&字符串%s的长度为%d\n&&,&str,&size);&&&&getchar();&&&&return&0;}3 运行结果
采纳率:85%
来自团队:
占5字节,后面还有一个 '\0'
为您推荐:
其他类似问题
字符串常量的相关知识
换一换
回答问题,赢新手礼包C++中字符串长度和字符串占用内存是不是差1个字节_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
C++中字符串长度和字符串占用内存是不是差1个字节
后者有个\0
我有更好的答案
这个很难说不过字符串占的内存一定比长度还要大起码有多一个字节来存储最末尾的'\0'但是不一定只多一个字节将一个连续的存储空间作为字符串的时候遇到'\0'也就是一个字节8位都是0的时候,就认为是字符串的结束再也不关心后面的内容了所以实际字符串占用内存字节数可能比其字符串内容长度长不只一个字节
您好,这个“实际字符串占用内存字节数可能比其字符串内容长度长不只一个字节”能举一个例子嘛?不太懂哈
假如你开辟了一个10字节的内存空间来存放字符串例如char a[10];而你的字符串是&abc&实际上a[0]='a'a[1]='b'a[2]='c'a[3]='\0'字符串长度是3,加上最后的'\0',至少要占4个字节后面的存储空间没有用到但是a的内存已经分配,还是占10个字节
采纳率:87%
来自团队:
你char数组写的多大内存就是多大。另外你敢说 char str[] = &字符串&; 的字符串长度不是刚好比内存占用少1?
不。C++的string类有另外机制,它的对象的字符串不以'\0'结束,所以长度和占用内存单元数相等。你可以如下验证:int&main(void){&&&&string&str(&&);&&&&cout&&&&str.length()&&&&'&'&&&&str.size()&&&&}
用strlen()和sizeof()看一下就知道了
其他1条回答
为您推荐:
其他类似问题
占用内存的相关知识
换一换
回答问题,赢新手礼包字符串“xyz”在内存中占用的字节数是多少?为什么?_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
字符串“xyz”在内存中占用的字节数是多少?为什么?
我有更好的答案
4字节,它们分别是3个字母共3字节,后面有一个字符串结束符0
所有字符串都是后面要有个'\o'吗
是的,&xyz&可以看作'x' 'y' 'z' '\0',如果不加\0,会一直向后面的内存读取数据,结果可能显示乱码,当读到\0时,即停止读取字符串
前端开发工程师
为您推荐:
其他类似问题
您可能关注的内容
字符串的相关知识
换一换
回答问题,赢新手礼包字符串常量在内存中存储是占的单元数怎么算?_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
字符串常量在内存中存储是占的单元数怎么算?
我有更好的答案求助知道网友
咸鱼在误导人……char型字符构成的字符串。PC机中,1个字节(Byte,简写B)中含8Hello12345&,共10个字符,所以共占11个字节,但是因为最后还有一个隐含的'\0'用来标志结尾:&quot,如,所谓bit就是可以存储0或者1的基本存储单元。此乃正解
就是将所有字符的总数最后再加1,因为字符串最后会有个'\0',这是系统自动加上的。由于字符占的内存单元数为1byte,所以这样计算。如果有汉字,就要对应汉字乘以2,因为汉字占2个字节。示例程序:#include &iostream&#define STR &ads&int main(){char s[] =
&asdf&; cout && sizeof(s) &&cout && sizeof(STR) &&return 0;}
&China&占6个字节,最后一个字节存放'\0'字符,表示字符串结束。
8bytes=1B1024B=1KB1024KB=1MB
本回答被网友采纳
1条折叠回答
为您推荐:
其他类似问题
字符串常量的相关知识
换一换
回答问题,赢新手礼包

我要回帖

更多关于 字符串占用内存 的文章

 

随机推荐