这是2个很容易混淆的概念,其实可以用一个很好的方法加以区别:
- #include <iostream>
- using namespace std;
- void main()
- {
- const int a=6;
- const int *q;
- const int *const p=&a;
- }
看const与那个最近,与常量最近,就是一个指向常量的指针,与指针变量最近,就表示是一个指针常量,所谓指针常量,就是指这个指针所指向地址是不变的,即这个指针里面包含的地址是不能改变的,就是在初始化时指定的值。
常量必须在定义时就要进行初始化,说明具体是指向什么常量。
先定义再初始化是不对的,程序会报错!