关于C语言 指针的理解(一)

C语言的指针一些运用的情况


从大一开始接触C语言算起,零零散散地感觉上手了不少。但是有时候遇到用指针变量的时候会出现奇怪的错误。

所以,想研究一下指针变量的各种情况下的变化和可能出现的错误。

这是我第一次写博客,可能有些表达不够清晰的地方,请见谅。

指针保存的是地址,而地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存地址。

自己写了接近一年的编程,个人感觉指针有个很方便的地方是在于它可以跨函数对一个变量进行操作。比如,用指针做参数

运行结果:

我们不用指针对比一下,看看b的值是否还会改变。

很显然,调用了指针为参数就可以改变传入的值,意思就是传递了b的地址,而testValue函数在对b的地址进行改变操作

如果传入的不是变量地址的话,其实是在testValue函数上,划定了一个新的内存地址,仅仅把b的值复制到新的内存地址上去了

所以并没有改变传入的变量。

这里区别类似java的引用传递和值传递。

指针还有很多很方便的用法,不过不是这次的研究点,找个机会再写另外一篇关于指针高级用法的吧。

这篇先到这吧!



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值