|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
void get_array(int a[]);
void get_array(int a[])
{
printf("get_array函数中,sizeof(a)=%lu\n",sizeof(a));
}
void main()
{
int a[10] = {1,2,3,4,5,6,7,8,9,0};
printf("main函数中,sizeof(a)=%lu\n",sizeof(a));
get_array(a);
}
main函数中,sizeof(a)=40
get_array函数中,sizeof(a)=8
为啥不是get_array函数中,sizeof(a)=4呢?
本帖最后由 jkluoling1992 于 2020-5-2 00:18 编辑
void get_array(int a[])
{
printf("get_array函数中,sizeof(a)=%lu\n",sizeof(a));
}
这个函数其实就是
void get_array(int *a)
{
printf("get_array函数中,sizeof(a)=%lu\n",sizeof(a));
}
a是一个指针,指向了数组第一个元素,在64位系统中,指针的大小为8字节,
在32位系统指针大小为4字节
在main函数中,a是一个包含10个int类型数据的数组,求他的数组空间大小,就是4*10
|
|