欢迎来到代码驿站!

C代码

当前位置:首页 > 软件编程 > C代码

简单总结C++中指针常量与常量指针的区别

时间:2021-04-01 08:18:06|栏目:C代码|点击:

我们先回顾下,什么是指针?什么是常量?指针是一种特殊的变量,它里面存储的内容是内存地址。常量是指其里面存储的内容不能发生改变的量。明白了这两个概念后,我们现在正式进入指针常量与常量指针。

1.指针常量与常量指针的概念

指针常量就是指针本身是常量,换句话说,就是指针里面所存储的内容(内存地址)是常量,不能改变。但是,内存地址所对应的内容是可以通过指针改变的。

常量指针就是指向常量的指针,换句话说,就是指针指向的是常量,它指向的内容不能发生改变,不能通过指针来修改它指向的内容。但是,指针自身不是常量,它自身的值可以改变,从而指向另一个常量。

2.指针常量与常量指针的声明

指针常量的声明:数据类型 * const 指针变量。

常量指针的声明:数据类型 const * 指针变量 或者 const 数据类型 *指针变量。

常量指针常量的声明:数据类型 const * const 指针变量 或者 const 数据类型 * const 指针变量。

3.指针常量与常量指针的使用

3.1 指针常量的例子

/*指针常量的例子*/ 
int a,b; 
int * const p; 
p = &a;//正确 
p = &b;//错误 
*p = 20;//正确 

指针常量声明的时候必须赋初始值。使用指针常量可以增加代码的可靠性和执行效率。

3.2 常量指针的例子

/*常量指针的例子*/ 
int a,b; 
int const *p; 
p = &a;//正确 
p = &b;//正确 
 
*p = 20;//错误 

关于区分指针常量的一个小技巧:const后的内容为不能修改的。例如指针常量 int * const p = &a;则表示指针p的内容不能修改;常量指针int const *p = &a;则表示指针p所指向的内容不能修改。

到此,什么是指针常量和常量指针,以及两者的差异,应该清晰和明朗了。

上一篇:C++如何实现简易扫雷游戏

栏    目:C代码

下一篇:深入理解C语言中编译相关的常见错误

本文标题:简单总结C++中指针常量与常量指针的区别

本文地址:http://www.codeinn.net/misctech/92274.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有