常量指针和指针常量

原创 2007年10月02日 22:11:00
关于常量指针和指针常量,这两个名词的含义还是有些争议的,
见http://www.cnblogs.com/lotusswan/archive/2005/10/11/252240.html
这里我采用英文称呼的办法来区分二者const pointer 和 pointer to const

Pointer to const(本文中称为“指向常量的指针”,也有文章称之为“常量指针”)
表现形式为const char *p;

(1)、指针内容存放的是常量的地址。
(2)、指针所指向的地址的内容是不可修改的。
(3)、指针本身还是个变量,指针指向的地址可以改变

比如:

int a;
const int *b = &a;//或int const *b = &a;
//这种情况下限定b所指的为常量,不能将*b作为左值进行操作,
//也就是不能通过b来改变a,不能出现如下代码:
*b = 5; //error
而可以出现以下代码:
int c;
b = &c;

Const pointer:(对这个称呼争议是比较大的,本文姑且称之为“指针常量”):
该指针本身是个常量,它是不可改变地址的指针,但是可以对它所指向的内容进行修改
比如:
int a;
int * const b = &a;
这时候写
*b = 5; //合法
却不能写
int c;
b = &c; //error

C++ 指针常量、常量指针和常指针常量

1、指针常量 如果在定义指针变量时候,指针变量前用const修饰,被定义的指针变量就变成了一个指针类型的常变量,指针类型的常变量简称为指针常量。 格式如下 数据类型  *   const  指针变...
  • yujin753
  • yujin753
  • 2014年11月26日 22:12
  • 1300

常量指针与指向常量的指针

const int *p和int * const p的区别 对于指针和常量,有以下三种形式都是正确的: const char * myPtr = &char_A;//指向常量的...
  • ycdhonker
  • ycdhonker
  • 2016年06月30日 08:58
  • 1731

指向变量的常指针和指向常变量的指针

刚接触到指针时,关于指向变量的常指针和指向常变量的指针容易混淆,所以整理下,希望能够帮助自己也帮助到大家。 常(量)指针 常指针就是我们说的指向常量的指针,顾名思义,它是用来指向常量的。 用常指针...
  • QianShouYuZhiBo
  • QianShouYuZhiBo
  • 2013年09月21日 11:07
  • 2303

陈宗权 C++01pm常量指针 笔记

  • 2013年07月01日 19:42
  • 887B
  • 下载

常量与堆与栈,数组与指针的区别

  • 2011年04月23日 17:34
  • 6KB
  • 下载

常量指针和指针常量的区分问题

  • 2011年04月08日 13:22
  • 3KB
  • 下载

指针常量与常指针CONST

  • 2010年06月14日 12:43
  • 296B
  • 下载

const限定修饰符用法总结(常量,指针,迭代器,函数参数,成员函数)

转自:http://blog.csdn.net/youxueT_T/article/details/7606446 const限定修饰符用法总结(常量,指针,迭代器,函数参数,成...
  • hlsdbd1990
  • hlsdbd1990
  • 2015年07月01日 15:32
  • 230

c++高级---C++类中的常量以及cosnt指针的理解

部分转自:http://www.cnblogs.com/this-543273659/archive/2011/08/02/2125020.html 由于#define 定义的宏常量是全局的,不能达...
  • gws1229
  • gws1229
  • 2013年08月17日 16:53
  • 513

字符串指针和字符数组,静态全局、静态局部、全局和局部变量区别,字符串常量和字符串变量,程序的内存分配

C语言学习中的知识点,字符串指针和字符数组的区别,静态全局变量、静态局部变量、全局变量和局部变量的区别, 有错误的地方请大家指正! 以下程序用VC++6.0调试 先说说字符串指针和字符数组的区别 1....
  • westboy20082008
  • westboy20082008
  • 2013年09月10日 17:45
  • 1587
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:常量指针和指针常量
举报原因:
原因补充:

(最多只允许输入30个字)