C语言教学--函数之间传值和传址的区别

    函数之间参数的传递, 对于一般的概念(函数的定义,函数返回值,函数的调用等)就不在这里重述了, 对于初学者总是不好理解, 其实这和我们中学学习的f(x,y)=x2+y2-1是一样的, 我们可以把x,和y赋相应的值, 带入后就会得到函数的地址. 这样我们就看到了, 函数我们早就接触过了, 计算机中的函数也是如此的, 只是换了一种表现形式.  函数可以理解为一个小的加工工厂, 我们把x,和y原材料输进这个工厂后,  工厂经过"加工" 会给我们返回一个和函数类型一致的一个东西.   

    对于函数之间传值:

    所谓的传值, 就是把变量"箱子" 中的内容(苹果) ,传递过去, 而不是把箱子的地址传递给形参(形参就是工厂的模具) ,实参就是x和y, x和y恰好能放到模具中.   

 

    对于函数之间传递地址:

    传递地址就是把箱子(变量)的地址传递过去, 这时候要注意我们的形参和实参用的是同一个地址, 也就是形参中的箱子中存放的是实参的地址, 这样操作形参就相当于操作实参! 所以两个数交换的例子又会被提到, 很经典! 我们用这个例子来看(例子以及运行结果):

 

    我们可以用图来表示以上的调用关系:

 

 

    传递地址:

 

    很简单很基础的东西, 总结下来, 记录曾经走过的脚印...

  • 12
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值