【分清楚常量指针与指针常量 Const int *与Int * Const的含义与用法】

想要弄清楚这个事情,首先关键要明白:

const 属于修饰符 ,关键是看const 修饰的位置在那里

1.常量指针

所谓的常量指针,就是常量修饰符Const在最前面:如Const int *a 或 Int Const  *a

这里const 修饰的是int,而int定义的是一个整值
因此a 所指向的对象 值 不能通过 a 来修改,但是 可以重新给 a 来赋值,使其指向不同的对象
eg:
const int *a ;
const int b = 1;
int c = 1;
a = &b //ok 额外:注意不能通过a 来修改 b值
a = &c //ok 额外:虽然c本身不是一个常量
*a = 2 //error 为题就在这里,不能修改通过 a 所指向的对象值,最后赋值得
对象是c**,因此不能通过
a 来修改c值

2.指针常量

所谓的指针常量,就是指针在最前面 如:Int * const a

这里const修饰的是 a ,a代表的是一个指针地址
因此不能赋给a其他的地址值,但可以修改a指向的值
这有点和cont int *a相反的意味,例子就不说了

eg:
Int * const a ;
const int b = 1;
int c = 1;
a = &b //OK 第一次定义,指针可以指向任意变量
a = &c //error a指针已经指向b变量,所以不能在指向其他
*a = 2 //OK 这个的意思是 通过指针a来修改b变量的值,所以b变量从之前的1 变成 2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值