指针也是一种变量。因此,指针也可以使用const,在指针中const的应用有三种形式。
1.地址不能修改,指针所指的内存块的数据可以修改:
int daysInMonth = 30;
int* const pDaysInMonth = &daysInMonth;
*pDaysInMonth = 31;//OK!!
//int daysInMonth2 = 28;
//pDaysInMonth = &daysInMonth2;//ERROR
2.地址可以修改,数据不能修改:
int daysInMonth = 30;
const int* pDaysInMonth = &daysInMonth;
*pDaysInMonth = 31;//ERROR!!
int daysInMonth2 = 28;
pDaysInMonth = &daysInMonth2;//OK!!
3.地址和数据都声明为常量,均不能修改:
const int * const pDaysInMonth = &daysInMonth;