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

问题描述

该程序是关于查找整数数组的大小及其元素大小,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,on运行程序。这是下面给出的代码:

 #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;
 }  

标签: csizeof

解决方案


推荐阅读