C语言中const的用法和理解

const的本质只需看const修饰的对象是什么和const的修饰变量的数据类型是什么,被const修饰的对象的值不能被修改 

 

  1. const int a  和 int const a 达到的效果一样int型变量a的值不可以被修改
  2. const int * b 和 int const * b  都指a所指向的那块内存的值不可变,也就是*a的值不可变
  3. int * const a 整数指针a的指向不可变但是 a指向的内存的内容可变
  4. int const * const a 和 const int * const a 整型指针a的指向和指向的内存的内容都不可被修改

 

1中const修饰的是a 是一个整型变量,a的值不可以被修改
2中const修饰的是*b 本质和1中的a的效果一样*b的数据类型和a的数据类型相同
3中const修饰的数据类型是int* ,修饰的对象是a所以 数据类型为int*的变量a的值不可变,也就是a的指向不可以发生改变
4中第一个const修饰的数据类型是int,修饰的变量是*a,所以*a的值不可变,第二个const修饰的数据类型是int* 修饰的变量是a,所以a的值不可变,综合所以a的指向和指向的内存的内容都不可被修改

欢迎关注问我团队公众号

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值