C||const位置

博客主要介绍了const位置不同时所对应的指针含义差异。包括常量、指针的不同情况,如指针指向地址中存储的值不能改变、指针指向的地址不能改变但值可改变、两者都不能修改,还涉及函数。总结指出const在*左边,*p不能变;在*右边,p不能变。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

const位置不同 所对应的指针含义不同

一、常量

const int a = 0;

二、指针

1、指针指向地址中存储的值不能改变

int a = 0;
const int b = 2;
const int *q;
q = &a; //非const赋值给const
*q = 5; //报错,不能对指针指向地址存储的值进行修改
p = &b; //非const指针地址赋值

2、指针指向的地址不能改变,值可改变

int a = 1;
const int b = 0;
int * const p = &a; //报错 不能修改const指针指向的地址
int * p = &b; //报错 导致非const指针修改const的值
*p = 2; //可以修改指针指向的值

3、都不能修改

int a = 0;
const int * const p = &a;

三、函数

const int function(int){}
int function(const int){}
int function(int) const{} 

总结

const位于*的左边对应的是p指针指向的空间中的值不能被改变( * p不能变)

const位于*的右边对应的是p指针指向的空间不能变(p不能变)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值