const 修饰变量

本文探讨了`const`关键字在修饰变量时的作用,包括如何使变量变为常量不可修改,以及`const`在指针变量前后的不同含义。通过实例解析了`const`修饰一般变量和指针变量时,如何限制变量的修改以及其内存层次上的约束。

const 修饰变量

const修饰变量
该变量成为常变量,不能被修改。

例一:const修饰一般变量(以整型变量为例)

const int num = 100;
int* p = #
num = 200;//用这种方式修改变量会报错,走不通。
*p = 200;//这种方式是可行的。

在这段代码中,const修饰num,变量num不能再被修改,但是我们可以通过对num地址解引用的方式来修改num的值
例二、const 修饰指针变量
1.const 在星号左侧
此时const 修饰的是p,即指针p所指向的内容,该内容不可以通过p=###的方式去修改,
而此时当我们去改变p变量本身时,系统却不会报错。
2.const在星号右侧
此时const修饰的是指针p,p本身即p的所指向的地址不能被修改,
而这时*p即指针p所指向的内容可以被修改
例如:

int num = 100;
int a = 1;
const int* p = #
*p = 200;//这样写会报错
p = &a;//这样写不会报错
int num = 100;
int a = 1;
 int* const p = #
*p = 200;//这样写会报错
p = &a;//这样写不会报错
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值