本文共 1113 字,大约阅读时间需要 3 分钟。
const char * myPtr = &char_A;//指向常量的指针
char * const myPtr = &char_A;//常量的指针 const char * const myPtr = &char_A;//指向常量的常量指针**从字面意思可以看出,指针是一个常量,也就是地址不能被修改。
#includeusing namespace std;void main(){ int a = 10; int const *p = &a; cout< <
我们可以改变指针变量p所指向的内容,而不能改变p的地址空间,如 添加上p = &b;我们就会发现编译错误!
特点是指针所保存的地址可以改变,然而指针所指向的值却不可以改变。
int const p,比较好记的方法:把 读作pointer to然后从后往前读. p is a pointer to const int,p是指向常量的指针#include#include using namespace std;void main(){ int i1=30; int i2=40; const int * pi=&i1; printf("%d\n", *pi ) ; //输出是30 pi=&i2; //注意这里,pi可以在任意时候重新赋值一个新内存地址 i2=80; //想想看:这里能用*pi=80;来代替吗?当然不能 printf("%d\n", *pi ) ; //输出是80 system("pause");}
特点是指针所保存的地址不可变,指针所指向的数值也不可变
**const int const*p典型例子
①int x=3; const int &y=x;//x=10;正确//y=20;错误,不能改变y的值 ②const int x=3;x=5;错误 ③int x=3; const int y=x;y=5;错误 ④int x=3;const int *y=&x;*y=5;错误 ⑤int x=3,z=4;int *const y=&x;y=&z;错误 ⑥const int x=3; const int &y=x;y=5;错误 ⑦int const a = 3; int p = &a;错误//指针指向const修饰的变量时,应该是const int const *p = &a;***转载地址:http://bdntx.baihongyu.com/