学习C语言(16)

1.sizeof和strlen的对比

(1)sizeof是操作符,只关注占用内存空间的大小,不在乎内存中存放什么数据

strlen是C语言库函数,功能是求字符串长度,函数原型:size_t strlen(const char *str),统计的是从函数参数str开始直到\0间的字符个数,由于结束条件是遇到\0,所以strlen可能存在越界查找

(2)归纳易错点

arr为字符数组中第一个元素的地址,整个数组中没有\0,strlen 不知道在哪里停止计数,所以结果是不可知的

arr为字符数组中第一个元素的地址,解引用后为字符a,字符a的ASC||码值为97,strlen函数默认把97看作地址,向后统计字符串长度,97作为地址的空间不一定属于当前程序,程序可能会报错

 

\0也算一个字符

这种写法是把a的地址赋给p

int arr[i][j]中arr表示二维数组名,a[i]表示一维数组名,有时可作地址,arr表示地址时指整个首个一维数组的地址(二维数组可以看作元素为一维数组的数组)

2.指针运算笔试题易错归纳

初始化数组的大括号中很容易看成大括号,这里是小括号,表示逗号表达式,所以数组初始化实际上是{1,3,5,0,0,0}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值