文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>常指针与指针常量,const int *p,int const *p, ..

常指针与指针常量,const int *p,int const *p, ..

时间:2010-09-13  来源:soqsoq

1.  对于常量(符号常量)和常指针、常引用常对象声明都是一样的

定义格式:

const 数据类型  常量名=常量值;

或  数据类型 const 常量名=常量值;

 

例如:const int a=7; 或 int const a=7;(符号常量)

  int b=5; 

 const int *p=&b;  或 int const *p=&b;(常指针)

const int &m=b;(常引用)

const Point pt; 或 Point const pt; //常对象不能更新

常指针和常引用在功能上有所限制,就是不能通过他们更改其指向的变量的数据(值)

 

2. 指针常量

定义格式:

数据类型 *const 指针常量=常量值;

如char ch,*const pch=&ch;(我是一步完成的,你也可以分开)

也就是说这个指针本身是个常量,不可改变,即它所指向的地址是固定的。但,ch是可以改变的。

 

 

 

有两种形式:

 

1.指向const的指针

使用指针定义的技巧,正如任何复杂的定义一样,是在标识符的开始处读它并从里向外读。

const指定那个“最靠近”的。这样,如果要使正指向的元素不发生改变,我们得写一个像这

样的定义:

const double* point;

从标识符开始,是这样读的:“x是一个指针,它指向一个const int。”这里不需要初始化,因为说x可以指向任何东西(那是说,它不是一个const),但它所指的东西是不能被改变的。

 

 

 

2.const指针

使指针本身成为一个const指针,必须把const标明的部分放在*的右边,如:

int d=1;

int* const x=&d;

现在它读成“ x是一个指针,这个指针是指向i n t的const指针”。因为现在指针本身是const指针,编译器要求给它一个初始化值,这个值在指针寿命期间不变。然而要改变它所指向的值是可以的,可以写* x = 2;

也可以使用下面两种合法形式中的任何一种形式把一个const指针变为一个const对象:

int d=1;

const int* const x=&d; // (1)

int const* const x2=&d; // (2)

现在,指针和对象都不能改变。

一些人认为第二种形式更好。因为const总是放在被修改者的右边。但对于特定的代码类型

来讲,程序员得自己决定哪一种形式更清楚。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载