c语言数组传递
转自:http://blog.csdn.net/xgmiao/article/details/9570825 点击打开链接
数组作为函数实参:
C语言中数组作为函数实参时,编译器总是将其解析为指向数组首元素地址的指针(地址调用)
原因:我们知道C语言函数的调用有传值和传地址调用。假设C语言对数组采用传值调用(对实参作一份拷贝,传递给被调用函数,函数不能修改实际实参值,而只能改变其拷贝),然后如果拷贝整个数组,则在时间和空间上开销都非常大。而对于函数,只要知道实参数组的首元素的地址,照样可以访问整个数组,所以采用传址调用效率更高。
注意的一点是对于函数来说,其接受的是数组首元素的地址,所以它是并不知道数组的大小的。
一维数组作函数实参:
copyright © 2008-2019 亿联网络 版权所有 备案号:粤ICP备14031511号-2