存储字符串“a”需要至少占用存储空间中的几个字节?

 我来答
仁昌爱娱乐
高粉答主

2020-02-11 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459860

向TA提问 私信TA
展开全部

存储字符串“a”需要至少占用存储空间中的2个字节。

字符串是用双引号(“”)括起来的由零个或多个字符组成的有限序列。字符串在存储上是使用单个字符代码的数组,每个字符占用一个字节。由于每个字符串尾自动加一个‘\0’作为字符串结束标志。

所以字符串“a”的长度使用单字符'a'和单字符‘\0’共2个单字符代码的数组进行存储,即占用存储空间中的2个字节。

扩展资料:

在程序设计中,字符串通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。

由于在程序中经常出现大量String对象的值相同的情况,造成内存空间的冗余。为了有效地利用内存,预留了一块特殊的内存区域,称为String常量池。当编译器遇到一个String常量时,先检查常量池中是否存在值相同的String常量,如果存在,则把该常量的引用指向常量池中的String常量。

娱乐小八卦啊a
高粉答主

2020-02-10 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117865

向TA提问 私信TA
展开全部

存储字符串“a”需要至少占用存储空间中的2个字节。c++中字符串以字符‘\0’结尾,所以每个字符串都有额外一个字符的开销。

如以下代码:

char str[10];strcpy(str,"0123456789")

因为“0123456789”有十个字符,但是末尾还有一个'\0'字符,因此它的实际长度是11个字节。所以,如果要复制该字符串,至少需要一个长度为11个字节的数组。

扩展资料

'\0'一般放在字符串的结束处,表示字符串的结束,其是ascii值为0的字符的转义。

在头文件#include <string.h>中包含的一些字符串处理函数等中,一般处理字符串时,都是一'\0'作为字符串的结束,如果一个字符串中没有'\0'这个结束字符,那么这些函数将不能确定字符串的结束位置在哪儿,从而引起一些不必要的错误。

字符串的长度就是这个字符串所包含字符的个数,但是这个长度是不包含 NUL 字符的。C 语言中使用库函数 strlen 来计算字符串长度:

size_t strlen(char const *string);

需要注意的是 strlen 的返回值类型:size_t 类型,这是一个无符号整数类型。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
以筠
推荐于2017-09-01 · 知道合伙人数码行家
以筠
知道合伙人数码行家
采纳数:137 获赞数:11075
学生

向TA提问 私信TA
展开全部
"a"要占用2个字节。因为系统会加上一个‘\0’的结束符在a的后面。

‘a’就占用一个字节。‘a’是字符常量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leonnillking
2012-01-06
知道答主
回答量:3
采纳率:0%
帮助的人:4615
展开全部
三个左右,依据操作系统和存储格式决定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小歆嵩
2015-08-08 · 知道合伙人数码行家
小歆嵩
知道合伙人数码行家
采纳数:403 获赞数:41310
河南科技大学在校本科生

向TA提问 私信TA
展开全部
2个 ,因为包括’\0'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式