const限定符(三)

const和指针结合一般可以产生两种类型的指针,一种是指向常量的指针,一种是指针本身就是常量,称之为常量指针。

指向常量的指针

类似引用,指针的类型必须具有其所指向的对象的类型相同,但有一个例外:即允许一个指向敞亮的指针指向一个非常量对象,那么就不允许通过该指针修改其指向的非常量对象的值:

doble dval = 3.14;
const double *cptr = &dval;        //不能通过cptr修改dval的值
常量指针

不同于引用的是,指针本身就是对象,而引用不是对象,所以指针本身可以是常量,且常量指针必须初始化,且初始化之后不允许修改:

int errNum = 0;
int *const curErr = &errNum;    //curErr将一直指向errNum
const double pi = 3.14;  
const double *const pip = π  //pip是一个指向常量对象的常量指针

对象的定义是有基本数据类型和声明符组成的,对于复合类型的定义应当从右往左看

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容