• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > 简单总结C++中指针常量与常量指针的区别

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

作者:王路情 字体:[增加 减小] 来源:互联网 时间:2017-05-28

王路情 通过本文主要向大家介绍了c++定义常量,c++常量,c++常量表达式,指针常量和常量指针,常量指针等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

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

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

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

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

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

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

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

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

3.1 指针常量的例子

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

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

3.2 常量指针的例子

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

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

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 简单总结C++中指针常量与常量指针的区别
  • 详解C++中常量的类型与定义
  • 剖析C++中的常量表达式与省略号的相关作用
  • C++中的常量定义小结

相关文章

  • 2017-05-28深入理解C++中public、protected及private用法
  • 2017-05-28深入理解链表的各类操作详解
  • 2017-05-28海量数据处理系列之:用C++实现Bitmap算法
  • 2017-05-28C++实现查壳程序代码实例
  • 2017-05-28tinyxml 常用的C++ XML解析器非常优秀
  • 2017-05-28C++ 头文件系列(set)详解
  • 2017-05-28C++实现四叉树效果(附源码下载)
  • 2017-05-28solaris操作系统做c应用程序开发步骤
  • 2017-05-28C++中auto_ptr智能指针的用法详解
  • 2017-05-28用typedef定义类型的总结分析

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • fcntl函数的使用详解
    • C++中overload,override,overwrite的区别详细解析
    • 用C++类实现单向链表的增删查和反转操作方法
    • C++二进制翻转实例分析
    • 数据结构之伸展树详解
    • c++实现十进制转换成16进制示例
    • Linux线程同步之信号C语言实例
    • 算法学习入门之使用C语言实现各大基本的排序算法
    • C++单例模式应用实例
    • c语言文件读写示例(c语言文件操作)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有