第九章(按值引用和模拟按引用调用

分别在7.5.2普通变量作函数参数

9.4按值调用和模拟按引用调用

11.1.3数组和指针作为函数参数进行模拟按引用调用中的相似性

  第七章不过多赘述

  按值调用,将函数调用语句中的实参的副本传给函数的形参。指针变量的一个重要应用就是用作函数参数,指针作函数参数时,虽然实际上也是传值给被调函数(C语言中的所有函数调用都是按值调用),但是传给被调函数的这个值不是变量的值,而是变量的地址,通过向被调函数传递某个变量的地址值可以在被调函数中
改变主调函数中这个变量的值,相当于模拟了C++语言中的引用调用,因此称为模拟按引用。(数组在形参中会影响实参,因为地址一致)。

虽然为了得到函数修改的形参的值,可利用return语句从被调函数返回被修改的形参值。但return仅限从函数返回个值,需要从函数返回多个值时,就要用到模拟按引用调用的方法。在C语言中,模拟按引用调用是一种常用的从函数中返回修改了的数据值的方法。第8章中介绍的用数组名作函数实参就属于模拟按引用调用,它是将数组在内存中的首地址传给函数的形参,然后在函数中利用形参得到的数组元素地址值,对数组元素进个间接寻址来修改数组元素值的。

 

 

而在11章里,书中解释了一维数组做函数形参其实是发生了指针类型的隐式转换,等于是用指向实参的指针,形参数组没有额外的储存空间,共享实参数组的储存空间。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值