c中常量(常变量)与指针的关系

1.常量分为普通常量,符号常量和常变量。
2.普通常量是没有名字的不变量,常变量是有名字的不变量,有名字就可以被引用。
3.常变量与变量:共同点是都 有名字,有类型,有存储单元,而变量的值是可改变的,常变量的值不可改变。
4. int num = 230;
const int cnum = 120;
const int* p = &cnum;
这种情况,通过 *p(解引用)修改cnum的值非法,但可以修改p的指向(p = &num 合法),此时通过 *p 修改num的值也非法,但可以通过num修改其值(num = 10 合法)。也不能通过cnum修改其值(cnum = 20 非法)。
5. int num = 230;
const int cnum = 120;
int * const p = #
这种情况,通过 *p 修改num的值合法,但不可以改变它的指向(p = &cnum 非法)
6. int num = 230;
const int cnum = 120;
int * const p = &cnum;
这种情况,通过 *p 修改cnum的值非法(因为cnum被const修饰,不能被改变),也不可以改变它的指向。

一句话:被const修饰的不能改变其值。对于指针变量来说,要看const修饰的是它本身,还是它所指向的数据。在4中,是第二种情况,在5,6中,是第一种情况。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值