深圳营销型网站建设公司网络服务,个人网站怎么建设规划和建设,超简单网页制作模板,福田蒙派克e大家好#xff0c;我叫徐锦桐#xff0c;个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识#xff0c;还有日常折腾的经验#xff0c;欢迎大家来访。 指针常量和常量指针光是这名字就让人头疼了。更何况还有细节问题要理清楚。 正文
命名
其实我… 大家好我叫徐锦桐个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识还有日常折腾的经验欢迎大家来访。 指针常量和常量指针光是这名字就让人头疼了。更何况还有细节问题要理清楚。 正文
命名
其实我们不应该这么叫它们这只是音译过来的这么翻译让我们的理解难上加难这里我推荐一个命名方法这样的命名方法又好理解又不容易懵逼。
指向常量的指针——const int* p本身是常量的指针——int* const p所指和本身都是常量的指针——const int* const p
巧记
我有一种好的记忆方法就是先找到星号(*)然后看它的两边右边是对指针P本身的限定左边是对p所指向的东西的限定。 举个例子吧。
1- const int* p星号的右边是p说明p就是一个普通的指针左边是const int说明指针指向的东西是const int型的不能修改。但是指针是普通的所以指针指的方向可以修改。2- int* const p星号的右边是const p说明指针p的方向是不能变的。而左边就是普通的int所以指向的那个数据是可以变化的。3- const int* const p是指针的指向和指向的东西都不可更改。
拓展
引用和指针的关系
引用是一个指向不可变的、被编译器自动解引用的指针即引用是一个被编译器自动解引用的“本身是常量的指针”。就是int ra a会自动被转化为int* const ra a,将ra自动转化为*ra的过程就是上面定义中所说的“自动解引用”。那么什么是const引用即我们说的常量引用但我希望大家称其为const引用而不是常量引用呢很显然const int raa就相当于const int* const raa了。
参考博客