很多C/C++初学者在学习指针时无法理解和区分常量指针和指针常量,两个傻傻分不清。
在这里分享一个快速区分常量指针和指针常量的小技巧
学起来吧!
const int *p1=&a;//定义了一个常量指针p1
int * const p2=&a;//定义了一个指针常量p2
1.const
const是一个C语言的一个关键字,它的作用是限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。
一个无法被改变的变量也就相当于常量。我们可以把const理解为“常量”!
2.区分技巧
const int *p=&a “常量” const在int *前,叫常量指针;
int * const p=&a int *在“常量”const前,叫指针常量;
这样我们根据const的位置便可以轻松区分常量指针和指针常量啦!
当然!只会分辨名字是第一步,我们还要理解常量指针和指针常量在作用上的区别!
我们可以这样理解:
常量指针 (指向常量的指针),const修饰*p(指针指向的内容),意味着指针指向的内容不可以改变。
指针常量(指针本身是常量),const修饰p(指针的指向),意味着指针的指向不可以改变。