加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C中数组中的终止NULL

发布时间:2020-12-16 06:48:12 所属栏目:百科 来源:网络整理
导读:我有一个简单的问题.为什么有必要考虑终止null 字符数组(或简称字符串)而不是整数数组.因此,当我想要一个字符串来容纳20个字符时,我需要声明char string [21];当我想声明一个包含5位数的整数数组时,则为int数字[5];足够.这是什么原因? 解决方法 如果您不想
我有一个简单的问题.为什么有必要考虑终止null
字符数组(或简称字符串)而不是整数数组.因此,当我想要一个字符串来容纳20个字符时,我需要声明char string [21];当我想声明一个包含5位数的整数数组时,则为int数字[5];足够.这是什么原因?

解决方法

如果您不想使用NULL,则不必终止带有NULL的char数组,但是当使用它们来表示字符串时,您需要这样做,因为C使用 null-terminated strings来表示其字符串.当您使用对字符串进行操作的函数(例如strlen for string-length或使用printf输出字符串)时,这些函数将读取数据直到遇到NULL.如果不存在,那么您可能会遇到缓冲区溢出或类似的访问冲突/分段故障问题.

简而言之:这就是C代表字符串数据的方式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读