strlen与sizeof的区别和字符串中的”\0“。

C语言中会经常用到sizeof函数和strlen函数。
那么这两个函数有甚麽区别呢?
sizeof()
sizeof 函数可以帮助我们求得字符串所占的空间的大小
例如
strlen与sizeof的区别和字符串中的”\0“。_第1张图片
strlen()
sstrlen 函数可以帮助我们求得字符串长度的大小
例如
strlen与sizeof的区别和字符串中的”\0“。_第2张图片
从上面两个例子我们可以看出sizeof()和strlen()两个函数的区别之所以两个函数结果会不同的原因是sizeof()计算时会将字符串后面的’\0’也计算进去。
另外如果一个字符串用”hello“的方式来表示的话 ,这个字符串后面会自动加上一个“\0”。而如果用{‘h’,‘e’,‘l’,‘l’,‘o’}来表示字符串的话就不存在哪个‘\0’。
例如:
strlen与sizeof的区别和字符串中的”\0“。_第3张图片
如上图可知‘\0’相当于字符串中的截止符,当计算机在一个字符串中遇到‘\0’时就会在当前位置停下来,不会再去打印后面的字符。而如果没有‘\0’的话就会产生随机值,因为后面没有哪个‘\0’来使它停下来。

如果大家看完感觉我说的有不对的欢迎大家批评指导。

你可能感兴趣的:(c语言学习,c语言)