关于数组的一个问题
#include<stdio.h>void fun(int a[11],int b[6])
{
printf("%d,%d\n",sizeof(a),sizeof(b));
}
void main()
{
int a[10] = {1,2,3,4,5,6,7,8,9,10},b[6] = {0};
printf("%d,%d\n",sizeof(a),sizeof(b));
fun(a,b);
}
输出结果 40,24
4,4
谁能详细解释一下
void fun(int a[11],int b[6])这里的a[11]应该是a[10]吧?要不答案说不通的。。
printf("%d,%d\n",sizeof(a),sizeof(b));sizeof()是寻址符。由于int变量占用了4个字节,所以对应的a[10]和b[6]应该是10*4=40,6*4=24