`
eriol
  • 浏览: 401100 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

常量指针和指针常量

    博客分类:
  • C++
阅读更多

常量指针:即指向常量的指针。其定义为:

 

const int* p;

 

它表示p是一个指向const int的指针,也就是说p指向的对象的内容不能改变,但是p可以指向其他的对象。所以,在这里不需要对p进行初始化,因为p可以指向任何东西(p不是一个const),但它所指的东西是不能被改变的。

 

 

指针常量:即指针是const类型的。其定义为:

 

int d = 1;
int* const p = &d;

 

它表示p是一个指向int的const指针,也就是说p不能再指向其他的对象,这个指针是const的。因此,编译器要求在定义p时给它一个初始值,这个值在指针的生命周期内不能该变,即该指针永远指向这一块内存地址,但是该地址中的内容是可以改变的。我们可以

 

*p = 2;

 

 

总结:

  • 常量指针就是指向常量的指针,指针所指向的地址的内容是不可修改的。
  • 指针常量就是是指针的常量,它是不可改变地址的指针,但是可以对它所指向的内容进行修改。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics