数组做函数参数时的使用

在函数需要将数组作为参数传入时,数组是传址调用,即将数组作为实参时,传入的其实是数组的首地址,实质上是一个指针。

在定义函数时可以定义一个指针,然后去调用数组,此时在函数内部的操作会直接修改数组的实际对应元素。因为传输进函数的数组的本质就是数组的首元素地址,函数内部按照地址去修改当然相当于直接操作数组。

在需要一个函数返回数据时也可以用定义指针,然后传入数组,将需要传回的数据放进数组内,在函数结束调用后,去相应的数组内取回数据。

但是需要注意的是,数组传入函数时只有当传入的是一个数组名时才是传址调用,如果给定下标的话就是一个标量,例如定义一个数组int num[20]。当传入num[0]、num[1]或其他下标时,传入的就是一个标量,而非一个传址调用了,此时如果有需要依然传入地址,例如想将数据放入数组,但是想从第二个元素位开始,就需要加一个取址符 “&” ,即&num[2],此时会将num[2]的地址传入,在写入数据时,也会从num[2],开始。

注意:如果定义一个数组,元素只有一个下标,即类似于int num_ine[1],此时直接传入函数,也是标量传入,而非传址调用。

在需要将数组传入函数,但是不想数组被改变时,可以使用const 关键字修饰,即函数形参定义为int const num[],此时数组num会被声明为常量,即不可改变。

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值