【1】指向const对象的const指针
可以定义指向const对象的const指针,形式为:
const 指向类型 * const 指针变量名;
例如
const double pi = 3.14159;
const double * const p = π //p为指向const对象的const指针。
程序中,既不能修改 p 所指向对象的值,也不能修改该指针 p 的指向(即p中存在的地址值)可以从右至左理解上述定义:“p首先是一个const指针,它指向double类型的const对象”
【2】const指针
一个指针变量可以是只读的,称为const指针,定义形式为
指向类型 * const 指针变量名;
例如
int a =10,b =20;
int * const p =&a; //p是const指针 可以从右向左把上述定义语句理解为“p是指向int型对象的const指针”,与其他const变量一样,const指针的值不能改变,这就意味着不能使p再被赋值指向其他对象。任何试图给const指针赋值的操作,即使是给p赋回同样的值都会导致编译错误:
p=&b; //错误,p是只读的
p=p; //错误,p是只读的
p++; //错误,
可以定义指向const对象的const指针,形式为:
const 指向类型 * const 指针变量名;
例如
const double pi = 3.14159;
const double * const p = π //p为指向const对象的const指针。
程序中,既不能修改 p 所指向对象的值,也不能修改该指针 p 的指向(即p中存在的地址值)可以从右至左理解上述定义:“p首先是一个const指针,它指向double类型的const对象”
【2】const指针
一个指针变量可以是只读的,称为const指针,定义形式为
指向类型 * const 指针变量名;
例如
int a =10,b =20;
int * const p =&a; //p是const指针 可以从右向左把上述定义语句理解为“p是指向int型对象的const指针”,与其他const变量一样,const指针的值不能改变,这就意味着不能使p再被赋值指向其他对象。任何试图给const指针赋值的操作,即使是给p赋回同样的值都会导致编译错误:
p=&b; //错误,p是只读的
p=p; //错误,p是只读的
p++; //错误,