指针常量于常量指针的区别
1 #include <stdio.h>
2 #include <iostream>
3
4 using namespace std;
5
6 int main(int argc, char **argv)
7 {
8 int a;
9 const int *b = &a; //定义常量指针,此指针乃是常量,
10 //不能通过该指针修改他所指向的变量
11 //的值,但是可以通过原来的定义修改,
12 //这通过指针读取到的值为修改后的值
13 a = 10;//合法
14 *b = 10;//非法
15 cout << *b << endl;
16
17 int * const c = &a; //定义指针常量,此指针指向的对象为常量
18 //可以通过指针修改他指向的对象的值
19 //也可通过原来定义的对象修改值
20 //但是不能修改指针指向的对象
21 *c = 11;//合法
22 cout << *c << endl;
23 int x;
24 c = &x;//非法
25 int javascript = 10;
26 cout << javasript << endl;
27 return 0;
28 }
29
2 #include <iostream>
3
4 using namespace std;
5
6 int main(int argc, char **argv)
7 {
8 int a;
9 const int *b = &a; //定义常量指针,此指针乃是常量,
10 //不能通过该指针修改他所指向的变量
11 //的值,但是可以通过原来的定义修改,
12 //这通过指针读取到的值为修改后的值
13 a = 10;//合法
14 *b = 10;//非法
15 cout << *b << endl;
16
17 int * const c = &a; //定义指针常量,此指针指向的对象为常量
18 //可以通过指针修改他指向的对象的值
19 //也可通过原来定义的对象修改值
20 //但是不能修改指针指向的对象
21 *c = 11;//合法
22 cout << *c << endl;
23 int x;
24 c = &x;//非法
25 int javascript = 10;
26 cout << javasript << endl;
27 return 0;
28 }
29