常量指针:
(1) 指向const或非const对象的const指针
const double *pc;
// 指针的指向可以改变,但是不能改变所指对象的值;
(2) 指向非const对象的const指针
int *const curErr;
// 不能指向其它对象,但可以修改指针指向对象的值;
(3) 指向const对象的const指针
const double *const pi_ptr;
// 指针的地址及指向对象的值都不能改变
int main()
{
// *********************************
// 第一种常量指针:const double *pc;
// *********************************
const double *pc = 0; // 常量对象
const double minWage = 9.60; // 常量指针
// 只能用常量指针指向常量对象,不能使用费常量指针指向常量对象;
// 不能通过pc修改minWage
pc = &minWage;
double dval = 3.14;
// 可以用常量指针指向非常量对象;
// 不能修改常量指针指向的对象的值,但是可以改变常量指针的指向;
pc = &dval;
dval = 3.14159;
// 不能通过pc修改dval
//! *pc = 3.14159;
// **********************************
// 第二种常量指针:int *const curErr;
// **********************************
int errNumb = 0;
int myErrNumb = 0;
// curErr是指向一个非const对象(int类型对象)的const指针
int *const curErr = &errNumb;
// 不能赋给curErr其它的地址值,但可以修改curErr指向的值;
*curErr = 0;
//! curErr = &myErrNumb;
// *******************************************
// 第三种常量指针:const double *const pi_ptr;
// *******************************************
const double pi = 3.14159;
// 指向const对象的const指针
// 指针的地址及指向对象的值都不能改变
const double *const pi_ptr = π
return 0;
}