为什么在程序下面运行时,void print_size(int a [])函数中sizeof(a)的输出为8而int main()函数中sizeof(a)的输出为12?

时间:2020-08-01 17:45:29

标签: c sizeof

该程序用于查找整数数组的大小及其元素的大小,并打印出 函数a[]中的数组void print_size(int a[]),显示sizeof(a)为8,而在int main()函数sizeof(a)中则为12。 在运行程序时,sizeof(a)中给定的void print_size(int a[])函数的值为8,而int main()函数中的sizeof(a)的值为12。 这是下面给出的代码:

 #include <stdio.h>
void print_size(int a[])
{
    printf("%d %d ",sizeof(a),sizeof(a[3]));
}
int main()
{
   int a[]={1,2,3};
   printf("%d %d \n",sizeof(a),sizeof(a[-1]));
   print_size(a);
   return 0;
 }  

0 个答案:

没有答案
相关问题