关于指针和const限定符问题的一个简单判断方法

本文通过四个实例详细解析了C/C++中指针与const限定符的不同组合方式及含义,提供了一种简单易懂的判断方法。

问题描述:指针与const限定符关系相关复杂,不同的组合就会有不同的意义,让人很犯晕,下面总结一个很实用的识别方法。

示例:说出下面指针与const限定符结合后所代表的意义

1、const char *p

2、char const *p

3、char* const p

4、const char* const p


下面介绍一个简单的判断方法:

例1:首先我们从右往左看,写成括号的优先级就是(const (char (*p))),由最里面的括号可以知道p是一个指针,再到外面一个括号可以知道p是一个指向char类型的指针,再到最外面一个括号可以知道p是一个指向const char类型的指针。


例2:我们也是从右往左看,写成括号的优先级(char (const (*p))),由最里面的括号可以知道p是一个指针,再到外面的括号可以知道p是一个const型指针,再到最外面一个括号可以知道p是一个指向char类型的const型指针。


例3:写成括号的优先级(char (*(const p))) ,由最里面的括号可以知道p是一个const型变量,再到外面的括号可以知道p是一个const型指针,再到最外面一个括号可以知道p是一个指向char类型的const型指针


例4:写成括号的优先级(const (char (* (const p)))),由最里面的括号可以知道p是一个const型变量,再到外面的括号可以知道p是一个const型指针,再到外面的括号可以知道p指向的一个const char类型的变量。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值