常量指针 与 指针常量

来源:互联网 发布:sql语言分为几种类型 编辑:程序博客网 时间:2024/06/05 12:52
int main(){int i = 1;int j = 2;int *const p1 = &i;// 常量指针 : 指针本身是常量int const *p2 = &j;// 指针常量 : 指向的内存是常量*p1 = 3;//p1 = &j;// Errorp2 = &i;//*p2 = 3;// Errorreturn 0;}


以上代码供参考。


PS:这两个名称其实网上说法不一,有人颠倒着说,有人这么说。

咱们不纠结怎么称呼,只要理解就好。 (我找了一下《C程序设计语言》[毕竟C语言之父,人家是权威] 里,貌似没有明确命名,所以我就不敢下定论了)


我是这么记忆的:

    从右往左看,谁先出来,读谁。例如:int * const p 从右往左看,先 const 后 * 所以就 常量指针。


常量指针:分开读,常量、指针,意思就是这个指针是常量,所以指针本身的值不能改;

指针常量:分开读,指针、常量,先指针,后常量,指针指向一个常量,所以常量的值不能改。


注:如果您能找到官方的对两个称谓的规范,请指正,谢谢!



0 0
原创粉丝点击