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

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

[复制链接]
1118|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 | 显示全部楼层
应该是会有个结束标记占用控件。

使用特权

评论回复
Candic12e| | 2024-5-11 10:13 | 显示全部楼层
是的,字符串的存储结束符也会占用空间。

使用特权

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

使用特权

评论回复
Emily999| | 2024-5-11 12:23 | 显示全部楼层
正常是占用空间的,这一点需要在内存分配和字符串处理时予以考虑

使用特权

评论回复
Charlene沙| | 2024-5-11 14:01 | 显示全部楼层
对于字符串"12345",实际上是占用6个字节的空间

使用特权

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

使用特权

评论回复
Allison8859| | 2024-5-11 16:25 | 显示全部楼层
当然要占用空间啦,不然这结束符放哪儿

使用特权

评论回复
Carina卡| | 2024-5-12 07:30 | 显示全部楼层
得看你怎么设计的,要是存在数组里,其实你仿真的时候能看到的

使用特权

评论回复
B1lanche| | 2024-5-12 09:06 | 显示全部楼层
一般都是占用空间的才对

使用特权

评论回复
alxd| | 2024-5-12 10:10 | 显示全部楼层
我理解是占用的,不然也不能凭空消失啊

使用特权

评论回复
gouguoccc| | 2024-5-12 11:20 | 显示全部楼层
要占用内存存储空间

使用特权

评论回复
Betty996| | 2024-5-12 12:23 | 显示全部楼层
结束符也要占用空间,这是正常的

使用特权

评论回复
呐咯密密| | 2024-5-13 13:31 | 显示全部楼层
结束符是要占用内存的

使用特权

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

本版积分规则

164

主题

3109

帖子

8

粉丝