`
836811384
  • 浏览: 547825 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

对于函数之间传值:

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

对于函数之间传递地址:

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

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

传递地址:

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics