1
#include <iostream>
2
using namespace std;
3![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
int main()
5
{
6
/*
7
关键字:指针,地址,值,const
8
变通对象:值可变
9
const 对象 : 值可变
10
变通指针:地址和值都可变
11
指向const对象的指针 :地址可变,值不可变
12
const 指针:地址不可变,值可变
13
指向const对象的const 指针 :地址和值都不可变
14
*/
15![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
const int a = 1; // int类型的const对象,初始值为1 。 另一种写法好像也正确,int const a = 1;
17
int b = 2;
18
int *pa = 0;
19
const int *pb = 0; // 指向int类型的const对象的指针。另一种写法也正确,int const *pb = 0;
20
// 其实就是说const 关键字和int关键字先后顺序随便。
21
int *const pc = &b; // 指int类型的对象的const指针
22
const int *const pd = &a; // 指int类型的const对象的const指针
23![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
// pa = &a; // const 对象的地址只能赋值给指向 const对象的指针。pa不是指向const对象的地址。b
25
// pb = &a;
26
// pb = &b; // 指向 const 对象的指针,可以指向const 对象的地址,也可以指向非const对象的地址。
27![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
// pb = &a; // or pb = &b;
29
// *pb = 9; // 指向 const 对象的指针,可以指向不同的对象,但不可以改变所指向对象的值。
30![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
// pc = &a; // const指针不能赋以其它对象的地址了。
32
// *pc = 9; // const指针所指向的对象的值是可以通过其改变的。
33![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
34
cout << *pd << endl;
35![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
return 0;
37
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)