C语言学习之sizeof函数和strlen函数
经过我们之前的学习,已经接触过很多次sizeof函数和strlen函数了,应用他们来求解数组大小等等。但是实际应用中两者的差别还是很大的,接下来我们就来了解一下吧。
sizeof函数
sizeof函数计算的是变量所占内存空间的大小的,单位是字节。如果操作数是类型的话,计算的是使用类型所创建的变量所赞内存的大小。
sizeof只在乎变量占用内存的大小,不在乎内存中存放的是什么类型的数据
典型应用:求数组中元素的个数:
输出结果为:
strlen函数
strlen函数是C语言的库函数,功能是用来求解字符串的长度。
在使用前,需要包含头文件<string.h>
函数原型:
统计的是从strlen函数参数str中这个地址开始向后,\0之前字符中字符的个数。
strlen会一直想后找到\0,直到找到为止,所以可能存在越界现象。
如上图代码所示,这是为什么呢
如图所示
针对arr1数组的时候,abc后自动补\0
针对arr2数组的时候,因为后面没有自动补\0,所以它会一直索引到内存当中的\0
所以当我们应用strlen函数的时候避免像上图当中第二种的初始化的形式
感谢看到这里的读者朋友,这里跪求一个点赞,谢谢。