常量指针 与 指针常量
2016-08-11 15:28
162 查看
int main() { int i = 1; int j = 2; int *const p1 = &i; // 常量指针 : 指针本身是常量 int const *p2 = &j; // 指针常量 : 指向的内存是常量 *p1 = 3; // p1 = &j; // Error p2 = &i; // *p2 = 3; // Error return 0; }
以上代码供参考。
PS:这两个名称其实网上说法不一,有人颠倒着说,有人这么说。
咱们不纠结怎么称呼,只要理解就好。 (我找了一下《C程序设计语言》[毕竟C语言之父,人家是权威] 里,貌似没有明确命名,所以我就不敢下定论了)
我是这么记忆的:
从右往左看,谁先出来,读谁。例如:int * const p 从右往左看,先 const 后 * 所以就 常量指针。
常量指针:分开读,常量、指针,意思就是这个指针是常量,所以指针本身的值不能改;
指针常量:分开读,指针、常量,先指针,后常量,指针指向一个常量,所以常量的值不能改。
注:如果您能找到官方的对两个称谓的规范,请指正,谢谢!
相关文章推荐
- 常量指针和指针常量的区别详解
- 指针常量和常量指针
- 字符串常量指针问题
- 常量指针与指针常量的区别
- 常量指针、指针常量和指向常量的指针常量
- 常量指针与指针常量的区别
- 常量指针和指针常量
- 指向常量的指针
- c/c++ 函数、常量、指针和数组的关系梳理
- 指针 常量
- C++中常量指针,指针常量(const 和*)的使用方法和理解方法
- 指针常量和常量指针
- 常量指针和指针常量
- 常量指针和指针常量
- 常量指针和指针常量
- 指针常量和常量指针
- 深入const int *p与int * const p的区别详解(常量指针与指向常量的指针)
- 常指针(指向常量的指针),指针常量,指向常量的常指针
- 关于指针(常量指针&&指针常量&&常量指针常量&&typedef)的总结
- 指针和引用的使用注意点-----常量指针和常量引用