指向常量的指针:
用const约束指针对所指对象进行访问时,这个指针称为指向常量的指针。
定义格式:(const在*前,表示约束的是指针量本身)
const 类型 *指针
或
类型 const *指针
const写在关联类型之前或者关联类型之后都可以。
指向常量的指针可以获取变量的地址,但限制用指针间址访问对象方式为“只读”。
(对象值不可以修改)
设:
int var = 35;
const int max =1000;
int *p;
const int *P1;
const int *P2;
*P1 = &var;
*P2 =&max;
若 *P2=1001;//错误
指针常量
指针常量的意义是指针变量的值只能在定义的时候初始化,定义后不能修改,即不能改变指针变量的指向。(俗称:指针常量约束的是该指针所指的地址,即指针变量本身,而并不是对象本身,地址不能够改变,但是对象值可以改变)(const在*后,表示约束的量是指针的地址)
定义形式:
类型 *const 指针;
eg:
int var1=100;
int var2= 200;
int *const P1 = &var1; //定义指针常量时的初始化。
const P1=&var2; //错误;
*const P1= var2; //正确
附加:指向常量的指针常量
含义为:指针本身和所指对象的值在定义之后都限制为只读,不能写。指向常量的指针常量的定义形式为:
const 类型 *const 指针
或者
类型
const * const 指针;