const关键字在指针中的用法

const在一般的变量中

普通的const型变量含义:初始化时的赋值在其生命周期内不能改变也就是说把他当作一个常量(数字10)来看,他(常量数字10)不能被修改。
例如

int a=10;
const int b=20;
a=b;//正确
b=a;//编译器报错b是常量20,是不允许被修改的

const在指针中

首先在一级指针中

int a=10;
int b=20;
int c=30;
int* p=&a;
int*const q=&b;//这里q是常量指针
const int* t=&c;

这里p是普通的一级指针
是一个普通指针,可以指向a或b或c的地址;
这里q是常量指针变量(q这个指针变量是一个常量)
格式为<指针类型*>const<指针变量名>;
用法为某个指针变量的值(即某个变量的地址)不能被修改。
此处为q所指的地址不能被修改(所指向变量a的地址不能被修改),在它的生命周期内只能指向a变量的地址不能在让他指向b或c变量的地址。

q=&b;//错误
q=&c//错误
*q=30;正确,它是把b的值修改为30

虽然q所指向的地址不能被修改,但是它解引用*q是可以修改q所指向变量的值;这一点需好好理解。
这里t是常量指针

格式为const <指针类型*> <变量名>
用法为不能修改该指针所指向内存地址的值,也就是说不能t修改变量c的值,通过解引用
*t=10;这样修改c变量的值是错误的
但是c=10;这样可以const只限定了*t却没有限定变量c,所以c可以任意修改值,*t=10;不行
t也可以修改所指向的变量地址

t=&b;//正确
t=&a//正确
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值