数组名作为函数参数

数组名作为函数参数时,进行地址传递,是将实参数组a的首地址传递给形参数组名b,此时a、b两数组占用相同的地址的一段连续内存单元。同时,a和b中下表相同的元素实际上也占相同的内存单元。但是传递的只是函数首地址,如果在函数内部调用sizeof来测试数组b的长度,所测长度只是首地址指向元素的长度。所以为了在被调函数中处理数组元素的需要,可以另设一个参数,传递数组元素的个数。例如:

void fun(int arr[])

{int a = sizeof(arr)/sizeof(arr[0]);//在函数调用时,本意是想获取传递给形参的实参的长度

                                               //事实并非如此。

}

int main()

{int arr[10] = {0};

fun(arr);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值