牛骨文教育服务平台(让学习变的简单)
博文笔记

c语言数组传递

创建时间:2014-11-08 投稿人: 浏览次数:200

转自:http://blog.csdn.net/xgmiao/article/details/9570825 点击打开链接

数组作为函数实参:

C语言中数组作为函数实参时,编译器总是将其解析为指向数组首元素地址的指针(地址调用)

原因:我们知道C语言函数的调用有传值和传地址调用。假设C语言对数组采用传值调用(对实参作一份拷贝,传递给被调用函数,函数不能修改实际实参值,而只能改变其拷贝),然后如果拷贝整个数组,则在时间和空间上开销都非常大。而对于函数,只要知道实参数组的首元素的地址,照样可以访问整个数组,所以采用传址调用效率更高。

注意的一点是对于函数来说,其接受的是数组首元素的地址,所以它是并不知道数组的大小的。

一维数组作函数实参: