栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ const修饰的指针

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ const修饰的指针

const修饰指针有三种情况:

1、const修饰指针——常量指针;

2、const修饰常量——指针常量;

3、const既修饰指针又修饰常量;

常量指针

e.g. const int *p = &a;

特点:指针的指向可以修改,但是指针指向的值不可以改。

const int *p=&a;
*p = 20; //错误,p指向的内存中的值不能修改
p = &b; //正确,p可以改变指向

指针常量

e.g. int * const p =&a;

const后面跟着变量,那么表示p是个常量。其特点是指针的指向不可以改,但是指针指向的值可以改。

int * const p=&a;
*p = 20; //正确,p指向的值可以修改
p = &b; //错误,p不可以改变指向

const又修饰指针,又修饰变量

e.g. const int * const p =&a;

特点:指针的指向和指针指向的值都不可以修改。

按照从右往左的规则分辨,对于第二种const先修饰p,那么表示p无法更改,p是一个地址,所以指针不能乱指。对于第一种,const修饰 *p,*p是指针指向的值,所以这个值是不能改的,但是指针的指向是可以改的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990554.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号