字符数组和字符串数组中的‘\0‘尾零存在的问题

一、在字符和字符串中是否必须存在?

答:在字符数组中非必要存在,但是在字符串数组中定义的时候必须存在。

字符数组

1、并不要求它的最后一个字符为'\0',甚至可以不包括'\0',像这样写是完全合法的。

char c[5] = {'C','h','i','n','a'};

2、在字符数组中,'\0'必须占据一个字符,如果没有空间就不没有'\0'

图0-在VS2022里面测试的,字符数组str确实没有'\0'

(特别注意:别在VM虚拟机里面测试,虚拟机太强大,直接给你补上尾零,VM牛逼克拉斯)

字符串数组

1、'\0'不占空间,没有大小(strlen检测不到),但是字符串的后面一定存在'\0'!!

图1:     证明'\0' 是不占空间的,并且是存在于字符串的尾部。

图2:   把字符串数组塞满,但是还是存在  '\0'  

 图3、程序独到'\0'才会结束循环,可以证明'\0',确实存在

 PS:个人总结,难免会有错误,请各位看官大佬们积极指正,小的感激不尽

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值