1、sizeof于strlen对比
1.1、sizeof的注意事项
对于sizeof我们之前是有学习过的,sizeof这个是非常重要的,sizeof是用于计算变量大小的,单位是字节,如果操作数是类型的话,计算的是使用类型创建的变量所占的内存空间大小。
sizeof只关注内存空间的大小,不在乎内存空间中存放什么数据,也不会去进行计算。
可以看到,sizeof括号里面无论是变量还是类型都可以去进行计算大小,而当我们看到第236行时,经过计算时,a的值原本应该是20的,可在237行进行打印时可以发现,打印出来的值是10,这也证明了,sizeof括号里面的表达式不参与计算。
1.2、strlen的注意事项
strlen是c语言库函数,功能是求字符串的长度,函数原型如下:
也就是说,strlen的参数str是一个指针,所以我们strlen函数是通过str地址一直往后面找,直到找到\0为止,用来统计字符串个数。
1.3、sizeof与strlen的对比。
1、sizeof是操作数。而strlen是库函数,使用时要包含头文件"string.h".
2、sizeof计算操作数所占内存的大小,单位是字节。strlen是求字符串长度的,统计的是\0之前的字符串个数。
3、sizeof不关心内存中存放什么数据。strlen关注内存中是否有\0,如果没有\0,就会持续往后面找 ,可能会越界。
ok了,家人们,这就是我对指针的全部理解了,希望这些博客文章可以帮助大家对指针有着更深的理解。