C语言const在指针上的应用

最近在看C语言的指针部分,突然发现了一个很有意思的现象,就是const在指针中的应用:

首先,const可以声明一个常量类似于#define的宏定义,但是const还可以声明const数组、const指针和

指向const的指针。

const 数组比较简单,就是声明数组以后其值就没法再改变了。

而指向const的指针不能用于改变值,如:

double rates[5]={22.3,34.5,34,23,56.7};

const double *pd=dates;//pd指向数组的首元素,该行代码把pd指向的指针类型声明为const double 

                                      //我觉得把const double 放在一起看更好理解。

*pd=29.89;//这样是不行的

但是 pd++;是允许的,此时pd指向rates[1],因为我们可以把const double 看成一个变量类型,pd是指针,

所以指针的指向肯定是可以移动的。

还有一种是const指针,就是一种不能指向别处的指针,这个主要取决于const的位置。

double * const pc=rates;//pc指向数组的开始

这样的话可以用这种指针修改它所指向的值,但是它只能指向初始化时设置的地址。

最后还可以在创建指针的时候使用const两次,这样的话该指针既不能更改它所指向的地址,也不能修改指向地址

上的值。

如:const double * const pc=rates;

虽然也能这样设置,但我现在不明白这种设置有啥用!哈哈以后说不定就明白了,到时候再补充吧!


 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Master_Yoda

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值