码迷,mamicode.com
首页 > 其他好文 > 详细

指针和const的组合

时间:2017-08-19 21:13:35      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:改变   value   div   int   格式   class   常量   组合   种类型   

1.指向常量的指针

格式:const 类型 * 指针名 或者 类型 const * 指针名

这种类型的指针可以获取到变量或者常量的指针,但是不能通过指针去修改被指向的对象的值,同时常量的地址只能赋给指向常量的指针。

例如:

 1 int value = 1;
 2 const int MAX = 100;
 3 
 4 const int * p1;
 5 int * p2;
 6 p1 = &value;//正确,变量地址可以赋给指向常量的指针
 7 p1 = &MAX; //正确
 8 p2 = &MAX;//错误,常量地址只能赋给指向常量的指针
 9 
10 *p1 = 200; //错误,不能通过指针去修改被指向对象的值
11 *p2 = 100;//正确

2.指针常量

格式:类型 * const 指针名

这种指针同普通的常量的意义类似,表明指针的值只能在定义的时候进行初始化,同时定义后不能进行修改,即不能改变指针的指向,但是可以通过指针去间接改变被指向对象的值

例如:

1 int value = 50;
2 
3 int * const p1 = &value;
4 
5 int value_another = 100;
6 p1 = &value_another;//错误,不能改变指针常量的指向
7 
8 *p1 = 200;//正确

3.指向常量的指针常量

格式:const 类型 * const 指针名 或者 类型 const * const 指针名

这种指针是上面两种指针的综合体,指针值只能在定义的时候进行初始化,之后不能修改指针值,同时不能通过指针去修改被指向的对象的值

例如:

1 int var = 1002 const int value = 1003 
4 const int * const p1 = &var;//正确
5 const int * const p2 = &value;//正确
6 
7 p1 = &value;//错误,不能修改指针的指向
8 *p1 = 200; //错误,不能修改被指向对象的值

 

指针和const的组合

标签:改变   value   div   int   格式   class   常量   组合   种类型   

原文地址:http://www.cnblogs.com/qrzeng/p/7397802.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!