永发信息网

a为数组名。sizeof(a)和sizeof(&a)有什么区别,sizeof(a)代表什么?希望能详细回答一下。谢谢。

答案:2  悬赏:0  手机版
解决时间 2021-11-20 07:13
a为数组名。sizeof(a)和sizeof(&a)有什么区别,sizeof(a)代表什么?希望能详细回答一下。谢谢。
最佳答案
sizeof(a)是把a作为一个数组类型来测试大小,结果是数组占用的字节数。
sizeof(&a)是把&a作为一个地址类型来测试大小,结果是4(64位系统里可能是8)。

数组名本身在计算中会自动转化成第一个元素的地址,但sizeof测试的时候不做计算,不转化。
全部回答
你可以写一些小程序来尝试一下。

#include
int main()
{
int a[20];
printf("sizeof(a) = %d\n", sizeof(a));
printf("sizeof(&a) = %d\n",sizeof(&a));

return 0;
}
解释:
sizeof(a) 求的是 数组的空间大小 即 20 * 4 (int形大小)= 80
sizeof(&a),此时&a指的就是一个指向int型数据的指针,而指针的大小也是4,所以sizeof(&a) = 4
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
男生被摸得时候下面流的是什么
5头狮子占领最大领土的叫什么
饥荒洞穴2层什么样子
中石油塔子城加油站地址好找么,我有些事要过
CPU E2180 @ 2.00GHZ 是什么意思
保定气功协会在哪?电话多少?
烟末有机肥对果树有没有效
比3500千米少500千米是多少千米多少吨
我01年我男朋友87年我们在一起合适吗?
iphone2015发布什么产品
鬼吹灯之精绝古城的大结局是什么意思?
巴西站 维斯塔潘 为什么 超那么多
请问哪种地方可以印一本书,就是我同学有一本
想在大型超市或商场里做餐饮,怎样做?应该与
有两个人在航拍。T恤后面写的什么字。
推荐资讯
有谁能给我介绍10~100首MP3歌曲 ,谢谢
局域网内,网络邻居无法访问其他计算机
不锈钢筷子用纸使劲擦,擦出黑色,对身体有害
老城镇牧家沟小学地址在什么地方,想过去办事
球型af216x摄像机电览里面有四条线那是什么线
成语什么什么什么长
最简单的辨别真假玉溪卷烟厂
怀的是孩子,是什么意思
放马鞭酒多少钱?
篆字中四与目的写法有区吗
蒜蓉炒蚬的做法步骤图,蒜蓉炒蚬怎么做好吃
150cm穿多长的裤子
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?