首页 > 代码库 > const与指针
const与指针
一、指向常量的指针
定义:const 变量类型 *变量;
例如
const double pi=3.14;///////pi是个常量,它的值不能改变
double *ptr=π//////错误:ptr是一个普通指针,可以改变ptr所指对象的值,而pi是个常量
const double *cptr=π/////正确:cptr指向一个双精度常量
*cptr=42;//////错误:*cptr指向的是常量,不能给*cptr赋值
注意:指针的类型必须与其所指对象的类型一致,但是有两个例外。第一种例外情况是允许指向常量的指针指向一个非常量对象:
double dval=3.14;
cptr=&dval;/////正确:但是不能通过cptr改变dval的值
和常量引用一样,指向常量的指针也指向一个变量。仅仅要求不能通过该指针改变对象的值,而没有规定那个对象的值不能通过其他方式改变。
二、常量指针
定义:变量类型 *const 变量名;
例如
int errNumb=0;
int * const curErr=&errNumb;/////curErr将一直指向errNumb
const double pi=3.14;
const double * const pip=π/////pip是一个指向常量对象的常量指针
注意:常量指针必须初始化,而且一旦初始化完成,则它的值(也就是存放在指针中的那个地址)就不能再改变。
const与指针
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。