void socrt(int a[10]) //这里写a[8] a[1] 都可以 因为已经退化成指针
{
int num = sizeof(a)/sizeof(a[1]);
}
int main(int argc,char **agrv)
{
int table[10]={1,2,3,4,5,6,7,8,9,0};
int n = sizeof(table)/sizeof(table[1]);
printf("n = %d \n");
}
运行后的结果 n = 10, 这里的table 是数组的地址,但当将table 当作函数参数传参时,数组地址会退变成指针
,所以num = 1.
C语言数组传参的误区
最新推荐文章于 2023-12-04 17:29:28 发布