\0在字符串中的作用

\0代表程序在读取字符串时的终止字符,是一个结束标志,它占用一定的内存,但它本身不能作为字符读取。

1、输出数组符号

先看一个例子:我们定义了两个数组,一个是由子符串构成的数组,一个是由多个字符构成的数组,他们中数组的内容没有任何的差别,都是abcdef,

其中红色代表一段内存条,黑色代表数组所占的内存,可以看出在由字符串构成的数组arr1中,占用7个储存空间,其中\0也占用一个储存空间。而arr2中只占用6个储存空间。

打印出来的结果是

%s代表的是打印字符串,但字符串的打印只有遇见\0才会停止,所以,arr2中f后没有\0,系统会根据他所在的储存位置往后打印,直至遇见\0打印终止。若在arr2的字符串中加入\0,则打印结果与arr1将相同。

Eg:

运行结果则为

同理,若在字符串中插入\0,例如,abc\0def,则打印出来结果为abc。

2、strlen()的使用

(在使用strlen()函数时,需要加上#include<string.h>用来引用)

strlen()的作用是输出字符串的长度,strlen()会输出在\0之前的字符的个数,沿用上面的例子

输出结果为

(这里的22只是一个随机的数字,是内存条在从arr2的第一字符开始,刚好到内存条的第23个时遇见了\0)

若在arr2中加入\0,则内容为

输出结果为

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值