在学习C语言的过程中遇到数组作为参数传递的问题
一维数组:
#include
int test2(int a[]){
for(int i=0;i<5;i++){
printf...}
}
int main(){
int a[5] = {1,2,3,4,5},*p;
p = a;
test2(a);
}
这样我们可以很顺利的在test去遍历这个数组a,当然我们还可能传递指针...我们在这里还可以用)*(p+i)来输出数组中的值
}
}
int main(){
int a[5] = {1,2,3,4,5},*p;
p = a;
test1(p);
}
一般来数参数的传递是值传递...,也就是说实参传给形参,形参发生改变时实参并不会改变,(单向)但是数组在传递的时候是地址传递,只要形参发生了变化,实参也会发生变化(双向)。...这样传递数组就会发现一个问题,我没有办法获取到数组的长度。