形参和实参是不同的变量

声明本文章中的代码来自郝斌老师的自学C语言视频。

在学习 c 语言的过程中,经常容易犯的错误就是把形参和实参误认为是相同的变量。下面,我还是通过郝斌老师 c 语言的自学视频中的代码来解释一下这个问题。

  

这个程序的运行结果是

这个运行结果说明主调函数的 i  值 和 被掉函数的 i 值是不同的变量。


从上面的图中可以看出,即便是程序将主调函数中变量 i 的值发送给了被掉函数,确实也使被掉函数中变量 i 的值变成了99,但是主调函数中变量 i 的值依然是8,并没有发生变化。


那么怎么通过被调函数修改主调函数变量的值呢?这就需要用到指针了。

这个程序的运行结果是:

这个结果可以看出,我们在被掉函数中定义了一个指针变量 p, 主调函数将自己内部的变量 i 的地址发送给被掉函数中的地址变量 p,  在被调函数中 *p 指的是就是主调函数中的变量 i, 这样我们就通过指针改变了主调函数中变量的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值