打印
[PIC®/AVR®/dsPIC®产品]

字符串的存储结束符也占用空间吗?

[复制链接]
1257|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
稳稳の幸福|  楼主 | 2024-4-23 23:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
结束符是不是占用了这个字符串的空间呢?
比如“12345”存储的时候是占用5个字节还是占用6个字节?

使用特权

评论回复
沙发
huahuagg| | 2024-4-24 15:00 | 只看该作者
\0是字符串结束标志,不计入串长,但要占内存空间.

使用特权

评论回复
板凳
huahuagg| | 2024-4-24 15:01 | 只看该作者
计算机存储一个字符用1个字节;存储字符串时,每个字符要占用1个字节,字符串结束标记符也要占1个字节,所以存储字符串”X”要占用2字节。

使用特权

评论回复
地板
小明的同学| | 2024-4-29 21:11 | 只看该作者
应该是会有个结束标记占用控件。

使用特权

评论回复
5
Candic12e| | 2024-5-11 10:13 | 只看该作者
是的,字符串的存储结束符也会占用空间。

使用特权

评论回复
6
Belle1257| | 2024-5-11 11:19 | 只看该作者
在C语言中,字符串通常以空字符'\0'作为结束符。因此,无论字符串的内容有多长,都需要额外的一个字节来存储结束符

使用特权

评论回复
7
Emily999| | 2024-5-11 12:23 | 只看该作者
正常是占用空间的,这一点需要在内存分配和字符串处理时予以考虑

使用特权

评论回复
8
Charlene沙| | 2024-5-11 14:01 | 只看该作者
对于字符串"12345",实际上是占用6个字节的空间

使用特权

评论回复
9
Annie556| | 2024-5-11 15:16 | 只看该作者
其实5个字节用于存储字符'1'、'2'、'3'、'4'、'5',另外一个字节用于存储字符串的结束符'\0'。因此,即使字符串本身的长度是5个字符,但在内存中需要占用6个字节的空间

使用特权

评论回复
10
Allison8859| | 2024-5-11 16:25 | 只看该作者
当然要占用空间啦,不然这结束符放哪儿

使用特权

评论回复
11
Carina卡| | 2024-5-12 07:30 | 只看该作者
得看你怎么设计的,要是存在数组里,其实你仿真的时候能看到的

使用特权

评论回复
12
B1lanche| | 2024-5-12 09:06 | 只看该作者
一般都是占用空间的才对

使用特权

评论回复
13
alxd| | 2024-5-12 10:10 | 只看该作者
我理解是占用的,不然也不能凭空消失啊

使用特权

评论回复
14
gouguoccc| | 2024-5-12 11:20 | 只看该作者
要占用内存存储空间

使用特权

评论回复
15
Betty996| | 2024-5-12 12:23 | 只看该作者
结束符也要占用空间,这是正常的

使用特权

评论回复
16
呐咯密密| | 2024-5-13 13:31 | 只看该作者
结束符是要占用内存的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

164

主题

3136

帖子

8

粉丝