C语言const用法

C语言const用法

1.

int  a[3]={1,2,3};
int  b[3]={7,8,9};
const int *A=a;//A指向int类型的值声明为const,这表明不可以通过A来改变它所指向的值。
*A=4;//通过指针修改不允许
A[2]=5;//通过数组修改不允许
a[0]=6;//允许,因为a没有被const声明
*A=b;//允许

总结一下,就是不允许通过A指针或者A数组的方式修改值,但是可以通过A来指向别处

2.

int  a[3]={1,2,3};
const int  b[3]={7,8,9};
int *A=a;
A=&a[2];//允许,因为可以让A指向别处。
A=b;//不允许,因为已经通过const固定的数据如b,不能再将其他址赋给别的普通指针,否则通过指针就能改变const固定的值。

已经通过const固定的数据如b,不能再将其他址赋给别的普通指针,否则通过指针就能改变const固定的值。

3.

int  a[3]={1,2,3};
int *const A=a;
A=&a[2];//不允许,因为const位置变了,现在A只可以指向一个位置,就是a[0]。
*A=5;//允许,因为这就相当于更改了a[0]的值。

const放在*后面,这样A只能指向一个位置。

4.

int  a[3]={1,2,3};
const int *const A=a;
A=&a[2];//不允许,因为一个const在*后面,现在A只可以指向一个位置,就是a[0]。
*A=5;//不允许,不能通过A指针方式修改,参考1。

使用const两次。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值