字符串常量在内存中存储是占的单元数怎么算?

 我来答
惠企百科
2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

将所有字符的总数最后再加1,因为字符串最后会有个'\0',这是系统自动加上的。由于字符占的内存单元数为1byte,所以这样计算。如果有汉字,就要对应汉字乘以2,因为汉字占2个字节。

char型字符构成的字符串。

如:"Hello12345",共10个字符,但是因为最后还有一个隐含的'\0'用来标志结尾,所以共占11个字节。PC机中,1个字节(Byte,简写B)中含8bit,所谓bit就是可以存储0或者1的基本存储单元。

扩展资料:

一种常用的表示法是使用一个字符代码的数组,每个字符占用一个字节(如在ASCII代码中)或两个字节(如在unicode中)。它的长度可以使用一个结束符(一般是NUL,ASCII代码是0,在C编程语言中使用这种方法)。或者在前面加入一个整数值来表示它的长度(在Pascal语言中使用这种方法)。

这是一个用NUL结束的字符串的例子,它用10个byte存储,用ASCII表示法:

F R A N K NUL k e f w;46 52 41 4E 4B 00 6B 66 66 77

上面的字符串的长度为5个字符,但注意它占用6个字节。结束符后的字符没有任何意义。

这是相同的Pascal字符串:

length F R A N K k e f w;05 46 52 41 4E 4B 6B 66 66 77

当然,可能还有其它的表示法。使用树和列表可以使得一些字符串操作(如插入和删除)更高效。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式