`
zhangfy068
  • 浏览: 148539 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

常量指针,指针常量区别

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

#include "iostream.h"
int main()
{
int a=42;
const int b=84;
const int *captr=&a;//常量指针
int * const acptr=&a;//指针常量
int *bptr=&b;//错误,不能把常量的地址给指针变量
const int *cbprt=&b;//把常量的地址给常量指针是允许的
*captr=68;//错误,间接引用常量指针不可修改内存中的数据 - 82 -
*acptr=68;//间接引用指针常量可以修改内存中的数据
captr=&b;//常量指针可以指向其他变量
acptr=&b;//错误,指针常量不能指向别的变量
const int * const ccaptr=&a;//常量指针常量,既不能间接引用修改数据,也不能指向别的变量或常量
*ccaptr=68;//错误,不能间接引用修改数据
ccaptr=&b;//错误,不能指向别的常量或变量
return 0;
}
 

/* &a 是地址  

指针常量: 内容可以修改,地址不能改  int * const

常量指针:内容不能被修改,地址可以更改 const int *

常量指针常量,都不能改 const int * const ccc=&a


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics