以下所有代码测试的IDE为code::blocks16.01
常量指针:
常量指针是指指针变量本身不可以改变的指针,但是可以通过指针变量修改所指向的变量,常量指针不能指向常量
int number1 = 10;
int number2 = 20;
const int NUMBER = 30;
int* const pNumber1 = &number1;//正确的声明
int* const pNumber = &NUMBER;//会编译错误
pNumber1 = &number2;//会编译错误
*pNumber1 = 50;//正确的语法
指向常量的指针
指向常量的指针,并不是只能指向常量,即可以指向普通变量,也可以指向常量,指针变量本身可以修改,但是不能通过指针变量修改指向的变量
int number1 = 10;
int number2 = 20;
const int NUMBER = 30;
const int* pNumber1 = &number1;//正确的声明
const int* pNumber = &NUMBER;//正确的声明
pNumber1 = &number2;//正确的用法,指向常量的指针变量可以被改变
pNumber = &number2;//正确的用法
*pNumber1 = 50;//会编译错误
指向常量的常量指针
这个指针具有以上两种指针的全部特性,不再重复说明