了解sizeof与strlen的区别以及各自的用法

 strlen要用#include <string.h>的头文件,读取字符串长度时读取的是字符'\0'之前的字符,计算的时候'\0'不计入计算。

#include <stdio.h>
int main()
{
	int a = 2;
	printf("%d\n", sizeof(a));
	printf("%d\n", sizeof(int));
	printf("%d\n", sizeof(char));
	return 0;
}

以上代码计算的是变量与类型的大小,整数的大小是4个字节,字符类型大小是1个字节,故打印出来的是4 4 1。

以上代码则计算的是字符数组和字符串的大小,因为arr1是字符串数组,最后面隐藏了'\0',所以是4个字节,strlen是不计算'\0'的,所以arr1用sizeof和strlen求出来的答案是4和3;又arr2是字符数组,所以容易看出只有3个字符,故用sizeof求出来是3,但是stelen要遇到'\0'才停止,但是arr2没有,所以它向其他空间找'\0',答案是随机值。 

  • 13
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值