const 使用

目录

const 是什么?

const 干什么的?

1.修饰普通类型的变量

2.修饰指针变量

const 是什么?

const是constant的缩写,意为常量,恒量,不变的

用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。

const 干什么的?

1.修饰普通类型的变量
int m = 0;
const int n = 0;
m = 20; // 可修改
n = 21; // 不可以修改

其中 m 可以修改,n报错

n原本是一个变量,在前面加上const之后,变成了一个常量,没有办法直接给n赋值(但是我们可以利用我们之前学的指针给n赋值)。

const int n = 0;
printf("%d\n",n);
int *p = &n;
*p = 20;
printf("%d\n",n);

如上,既然没有办法直接给n赋值,我们就绕过n,得到n的地址,通过n的地址给n赋值。

2.修饰指针变量

根据之前的内容我们是通过绕过n,得到n的地址,通过n的地址给n赋值的;使用的是指针,那我们给指针添加上const和修饰普通变量的使用方法一样嘛?

答案是有相似之处也有不一样的地方。

const int *p1 = 6; //   yi
int * const p2 = 8; //  er
const int * const p3 = 10;  //  san

yi 指针指向的内容 6 不可改变。简称左定值,因为 const 位于 * 号的左边。

er 对于 const 指针 p 其指向的内存地址不能够被改变,但其内容可以改变。简称,右定向。因为 const 位于 * 号的右边。

san 这时,const p 的指向的内容和指向的内存地址都已固定,不可改变。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值