C语言数组问题

#include<stdio.h>intmain(){inta[10]={0,1,2,3,4,5,6,7,8,9};printf("*a占用%d个字节\n",sizeof... #include<stdio.h>
int main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
printf("*a占用%d个字节\n",sizeof(*a));
printf("a占用%d个字节\n",sizeof(a));
}
求解释,这个的结果为什么是:
*a占用4个字节
a占用40个字节
请按任意键继续. . .
展开
 我来答
GPRS_zhou
2012-04-03
知道答主
回答量:27
采纳率:0%
帮助的人:24万
展开全部
楼主真的是小菜啊,这个主要书sizeof的用法。a为数组的的首地址知道吧!*a是数组第一个元素,sizeof(*a)就是4了。而sizeof(a)是求数组的空间大小(sizeof对于数组的用法,就是说sizeof里面是数组名的话就是求其占用空间大小,这是sizeof的用法,也就是说是人家规定的,没什么好解释的,自己百度sizeof的用法)手机打字,给分,谢谢。
beddy1
2012-04-03 · TA获得超过1989个赞
知道大有可为答主
回答量:2271
采纳率:0%
帮助的人:2207万
展开全部
*a 返回类型为int,是数组元素的类型。典型情况下其大小为4.
a的类型为 int [10],即容量为10个int的数组,典型情况下其大小为40.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
306712241
2012-04-03 · TA获得超过2512个赞
知道小有建树答主
回答量:890
采纳率:100%
帮助的人:263万
展开全部
C语言规定数组名是整个数组的首地址,也就是你可以把数组名当做一个指针,*a就是求它指向的数,其实也就是第一个数,它是int类型,所以在计算机中占4个字节。 第二是求整个数组的空间,总共40个字节
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
护戒之淼
2012-04-03 · TA获得超过132个赞
知道小有建树答主
回答量:396
采纳率:0%
帮助的人:244万
展开全部
*a为数组首元素的大小,数组元素都是int,那么sizeof就是4
a是首元素地址也是数组地址,那么sizeof首地址就是求连续地址的大小,就是10*4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哒哒啊如同一条
2012-04-10 · TA获得超过232个赞
知道小有建树答主
回答量:348
采纳率:0%
帮助的人:137万
展开全部
sizeof()既可测类型,又可测变量,还可侧地址。int a.
sizeof(int)
sizeof(a)
sizeof(&a)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lyhdez1
2012-04-03 · TA获得超过1942个赞
知道小有建树答主
回答量:687
采纳率:100%
帮助的人:843万
展开全部
*a表示a[0]
a表示整个数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式