在很多情况下,我们会被 指针常量、常量指针、常指针常量搞得晕头转向。但是只要分辨清楚,并加深理解就能认识它们的本质区别。

指针常量:不能修改指针的指向,但是指向的值可以修改。

int * const p = &a;

常量指针:不能修改指向的值,但是可以修改指针的指向。

const int * p = &a;

常指针常量:指针的指向和指向的值都不能修改。

const int * const p = &a;