对指针的一些理解(五)

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了,家人们,这就是我对指针的全部理解了,希望这些博客文章可以帮助大家对指针有着更深的理解。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值