const 和*p的关系
2015-07-01 20:53
190 查看
const char *p; //从右向左读,p是一个指针,指向char型,指向的内容不能变
char const *p; //从右向左读,p是一个指针,指向const char型,也就是指向的内容不能变,和上面等价
char *const p; //从右向左读,p是一个const指针,指向char型,那么指针本身不能被改变,也就是不能指向别的地方了。
多好理解啊,记住一句话,“从右向左读”就行了!
只看*和const的位置:如果const在*的左边(即const char *或char const *)的话表示指针指向的值不能改变,但是指针可以改变,即指向常量的指针;
如果const在*的右边(即* const)的话表示指针是不可改变的,其指向的值可以改变,即常量指针。
注意: const char *const p;p和p的指向都不可变。
char const *p; //从右向左读,p是一个指针,指向const char型,也就是指向的内容不能变,和上面等价
char *const p; //从右向左读,p是一个const指针,指向char型,那么指针本身不能被改变,也就是不能指向别的地方了。
多好理解啊,记住一句话,“从右向左读”就行了!
只看*和const的位置:如果const在*的左边(即const char *或char const *)的话表示指针指向的值不能改变,但是指针可以改变,即指向常量的指针;
如果const在*的右边(即* const)的话表示指针是不可改变的,其指向的值可以改变,即常量指针。
注意: const char *const p;p和p的指向都不可变。
相关文章推荐
- 如何让格斗游戏的横版过关(2) Cocos2d-x 2.0.4
- flask安装笔记
- 安卓安装并运行Linux-Ubuntu12.04系统
- javaSE学习笔记之运算符
- OC基础3:一些基本概念
- C# 课堂总结2-数据类型及转换方式
- Union的使用
- 错误号码2003 Can't connect to MySQL server 'localhost' (0)
- opencv 拉伸、扭曲、旋转图像-仿射变换 opencv1 / opencv2 / python cv2(代码)
- 《Java程序实习》日记(周三)
- 错误号码2003 Can't connect to MySQL server 'localhost' (0)
- 【EF 1】EF实体框架 原理+实例
- android中菜单的使用(xml)
- 【EF 1】EF实体框架 原理+实例
- Java之旅(2)—反射
- 程序是怎么划分内存的
- 《webgl入门指南》学习笔记三之three.js创建多重纹理
- 斯坦福《机器学习》Lesson1-3感想-------2、线性回归
- 鸟哥的Linux私房菜-----6、文件与目录管理
- java自己主动打开包装盒很容易导致两个误区