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个字节
请按任意键继续. . . 展开
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个字节
请按任意键继续. . . 展开
8个回答
展开全部
*a 返回类型为int,是数组元素的类型。典型情况下其大小为4.
a的类型为 int [10],即容量为10个int的数组,典型情况下其大小为40.
a的类型为 int [10],即容量为10个int的数组,典型情况下其大小为40.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言规定数组名是整个数组的首地址,也就是你可以把数组名当做一个指针,*a就是求它指向的数,其实也就是第一个数,它是int类型,所以在计算机中占4个字节。 第二是求整个数组的空间,总共40个字节
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*a为数组首元素的大小,数组元素都是int,那么sizeof就是4
a是首元素地址也是数组地址,那么sizeof首地址就是求连续地址的大小,就是10*4
a是首元素地址也是数组地址,那么sizeof首地址就是求连续地址的大小,就是10*4
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sizeof()既可测类型,又可测变量,还可侧地址。int a.
sizeof(int)
sizeof(a)
sizeof(&a)
sizeof(int)
sizeof(a)
sizeof(&a)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*a表示a[0]
a表示整个数组
a表示整个数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询