还是不清楚,f(int daytab[2][13]){...}为什么可以写成f(int daytab[][13]){...}
原理前2贴大家都说了, 数组在传递后, 数组会退化为指针, 数组长度信息丢失 。对于多维数组, 丢失第一维长度,高维的长度必须给出。
以下例子中函数f(){}的作用是打印数组第30个元素的值,如果没有就报错。
main()
{
int dt[2][13]={a,b,c,...z};
f(dt);
}
//比如函数的作用就是打印第30个元素的值
f(int daytab[][13])
{
/*这里应该怎么写判断数组至少有30个元素?函数没有得到数组的一维大小,怎么计算?所以我觉得函数至少还应该有另外一个参数,即数组的一维大小。*/
}