C语言:二维数组作为参数的问题!求解答!!谢谢!!
int sumarray(int b[][3],int m,int n) //二维数组作为函数形参时,第二维(列数)一定要用具体的数值表示吗?{
int i,j,sum=0;
printf("函数中接收的数组地址为%p\n",b);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
sum+=b[i][j];
}
}
return sum;
}
程序代码:#include <stdio.h>
void sumarray(int b[4][3]) //二维数组作为函数形参时,第二维(列数)一定要用具体的数值表示吗?
{
printf ("%d sizeof(b[0]) = %d\n", __LINE__, sizeof(b[0]));
printf ("%d sizeof(b) = %d\n", __LINE__, sizeof(b));
}
int main(void)
{
int b[4][3] = {0};
sumarray(b);
printf ("%d sizeof(b) = %d\n", __LINE__, sizeof(b));
return 0;
}
//弄清楚 局部变量分配在内存的那块