数组名作为函数参数传递的注意点。
①形参实参数组类型要一致
②形参和实参数组里边的个数可以不一致,编译通过。
虽然不会报错,但是运行的结果会跟实际不符。
③形参的长度可以不写,因为实参的首地址会传递给形参,这时候完全按照实参的长度来。
就算形参规定了长度,也没有鸟用,还是以实参为准。
④关于数组名作为函数的参数,数组的长度丢失问题。
c语言里边所有的地址都是占8个字节。
eg:
void abd(int arr[]){
int len = sizeof(arr);
prinrf("%d",len);
}
int a[] = {1,2,3};
int len = sizeof(a);
printf("%d",len);//此时输出的是a数组所占的长度是3
abd(a);//此时调用函数输出的长度就是8,因为a传递的是地址,打印的是地址的长度。
|
|