下面三个变量分别代表什么含义?
const int* ptr;
int const* ptr;
int* const ptr;
const int* ptr;
int const* ptr;
int* const ptr;
const int* ptr; // ptr是一个指针,它指向一个const int类型的变量
int const* ptr; // ptr是一个指针,它指向一个int const类型的变量,和上面一样
int* const ptr;// ptr是一个const 类型的变量,这个变量是一个指针类型的,指向一个int类型变量(也就是说ptr是一个const 类型的指针类型变量,它可以指向一个int类型的变量)
一个判断方法就是把类型说明去掉,看留下来的东西,const后面跟的是什么, 如果跟的是*,表示const修饰的是指针指向的东西,如果直接跟着指针变量名,说明const修饰的是这个指针,所以这个指针的指向是不能发生变化的。