C语言指针学习笔记之指针作为函数参数的使用

今天学习指针做为函数参数的使用,说来惭愧,我工作两年了也报过培训班,但一直没有学好,只算入门,现在就相当于从头学习,努力把自己的编程水平提高,一起加油吧!

ok,进入主题。

函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传到另一个函数中,如下图所示:

输入结果为

我定义了一个无返回值的、有两个指针变量的参数函数swap

其中把*a的值赋给了局部变量temp;把*b的值赋给了*a;又把temp的值赋给了*b

这就是整个swap函数的作用。

然后在main函数中定义了整形变量a,b.整形指针变量pointer_1,pointer_2;

使用scanf函数输入a和b的值

然后用pointer_1去取a的地址;

pointer_2去取b的地址

当输入的a的值小于b时调用swap函数

然后打印a,b的值


其中printf()中的两个\n\n是换行的意思,为了看着方便

比如我输入了11,12。回车换行的时候就从第三行显示了,然后第四行也不显示了

假如变成以下形式

则输出效果为

再少一个\n就变成这样啦哈哈哈。神奇吧嘿嘿

好的,现在让我们回到主题。

我定义了一个函数。它的作用是交换两个变量(a和b)的值。swap函数的形参a,b是指针变量。

程序运行时,先执行main函数,输入a和b的值。然后将a和b的地址分别赋给指针变量pointer_1和pointer_2,使指针变量pointer_1指向局部变量a,指针变量pointer_2指向局部变量b,

接着执行if语句,由于a<b,因此执行swap函数。注意实参pointer_1和pointer_2是指针变量,在函数调用的时候,将实参变量的值传递给形参变量。采取的依然是“值传递”方式。因此虚实结合后形参a的值为&a,b的值为&b。这时a和pointer_1指向变量a,b和pointer_2指向变量b。

接着执行swap函数的函数体使*a和*b的值互换,也就是使a和b的值互换。

函数执行完后,a,b将不复存在(已释放)

最后在main函数中输出的a和b的值是已经交换过的值。

这就是最近两天我学习的指针内容啦!如果有不对的地方欢迎批评指正,让我们一起共同学习,勇敢面对生活和工作中遇到的困难和挑战!

最后可以的话可以给我点赞鼓励,这样会对我继续分享学习工作遇到的问题产生强大的动力,谢谢!

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颈部者

感谢您对我的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值