常量指针指针常量

const定义

定义一个int型的只读的变量并初始化其值为20
const int m=20;(变量地值必须初始化)。
int const m=20;(表示相同的意思)。
m=20;(这种情况是不允许的,因为只读类型的变量不能修改,包括不能自增,自减,也不能赋值)

常量指针

定义:是一个指针,它指向常量。

const在*之前,
const int n = 10;
int a=100;
const int *p = &n;

1.可以不初始化。
2. 常量指针可以指向const修饰的变量,也可以指向普通变量(p=&a或者p=&n);。
3. 可以改变指针的方向( p = &m;)。
4. 不能通过指针去修改指向变量的地址值(*p1=100;该语句编译报错,不能通过指针修改指向内存中的值)。

指针常量

定义:它是一个常量,数据类型为指针

const在*之后
int x=100;
int b=20
int * const p2=&x;

1,必须初始化。
2,不能改变指针的指向(指针变量不能赋值,自增,自减)(p2=&20;该语句不合法)。
3,可以通过指针改变指向的变量的之(p2=300;该语句合法p可以赋值 )。

总结:常量指针可以改变指向,不能改变指向变量的地址值。反之则相反。const在前不能改值,const在后,不能改指向。

扩展

const int *const p;

1,必须初始化
2,不能改变指针方向
3,不能通过指针修改指向的变量地值(*p不能赋值)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值