用sizeof()和strlen()求数组和指针

本文详细探讨了在C语言中使用sizeof()和strlen()函数来获取数组和指针的大小以及长度的方法。通过示例展示了它们在处理不同类型的数组(如一维、字符、二维)以及字符串指针时的行为差异,强调了在不同情况下的正确用法。
摘要由CSDN通过智能技术生成

1.sizeof(数组名),这里数组名表示整个数组,计算的是整个数组的大小

2.sizeof(&数组名),这里的数组名表示整个数组,取出的是整个数组的地址

//一维数组

int a[]={1,2,3,4};

printf("%d\n",sizeof(a));//16

printf("%d\n",sizeof(a+0));//4/8,a+0是首元素的地址,是地址,大小是4/8个字节

printf("%d\n",sizeof(*a));//4,a是首元素的地址,*a是数组的第一个元素

printf("%d\n",sizeof(a+1)); //4/8,a+1是第二个元素的地址,是地址,大小是4/8个字节

printf("%d\n",sizeof(a[1]));//4,a[1]是数组的第二个元素

printf("%d\n",sizeof(&a));//4/8,&a是整个数组的地址,是地址,大小是4/8个字节

printf("%d\n",sizeof(*&a)); //16,*&a是整个数组的元素

printf("%d\n",sizeof(&a+1)); //4,&a是整个数组的地址,&a+1跳过整个数组,求的是4后面位置的地址

printf("%d\n",sizeof(&a[0])); //4/8,&a[0]是首元素的地址

printf("%d\n",sizeof(&a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值