c语言:关于参数传递数组
x(a[]){}main(){inta[10];x(a[10]);}我知道传过去的是这个数组的首地址但是传到形参的a[]是什么意思形参部分开辟了一个空间为1的数组变量来接...
x(a[ ]){
}
main()
{int a[10];
x(a[10]);
}
我知道传过去的是这个数组的首地址 但是传到形参的a[ ]是什么意思 形参部分开辟了一个空间为1的数组变量来接收实际参数的那个数组的首地址吗? 展开
}
main()
{int a[10];
x(a[10]);
}
我知道传过去的是这个数组的首地址 但是传到形参的a[ ]是什么意思 形参部分开辟了一个空间为1的数组变量来接收实际参数的那个数组的首地址吗? 展开
2个回答
展开全部
嗯,一般传递数组是这样的:
int a[3]={1,2,3}; //定义数组
void fun(int [],int length); //申明函数,第一个参数是数组头地址,第二个参数是数组长度
fun(a,sizeof(a)/sizeof(int)) ; //调用函数,a为数组头地址,sizeof()获取字节数。
所以你的程序有点解释不清,呵呵~~~还是按照一般的规范来编程会好点。
具体点你的程序应该是这样的:
x(int [ ], int length){
}
main()
{int a[10];
x(a,sizeof(a)/sizeof(int));
}
int a[3]={1,2,3}; //定义数组
void fun(int [],int length); //申明函数,第一个参数是数组头地址,第二个参数是数组长度
fun(a,sizeof(a)/sizeof(int)) ; //调用函数,a为数组头地址,sizeof()获取字节数。
所以你的程序有点解释不清,呵呵~~~还是按照一般的规范来编程会好点。
具体点你的程序应该是这样的:
x(int [ ], int length){
}
main()
{int a[10];
x(a,sizeof(a)/sizeof(int));
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询