常量与指针

1. 常量

常量是程序中一块数据,这个数据一旦声明后就不能被修改了。

2. 编码规范

符号常量(包括枚举值)必须全部大写并用下划线分隔单词
例如:MAX_ITERATIONS, COLOR_RED, PI

3.指针

指针是一个地址,它长得像 0x8FFF 这个样子。地址呢,就是某个内存位置的一个编号。那这个位置的内存是可以存放一些数据的。这些数据就叫做“指针所指的数据”或者“指针指向的数据”

4. 常量和指针

我们把指针放到一个变量里面,就是指针变量;

我们把指针放到常量中,就是指针常量;

那如果一个指针(也就是地址,比如0x8FFF)所指的数据(也就是0x8FFF这个内存位置存放的数据)是常量,这个指针被称为常量指针。

所以,有一种东西,叫做“常量指针常量”。就是说,一个常量中存着一个指针,这个指针又指向另外一个常量。

5.常量指针/常指针

特征:指针所指向的内容不可以通过指针的间接引用(*p)来改变。

1 const int x = 1;
2 const int* p1;
3 p1 = &x; //指针 p1的类型是 (const int*)
4 *p1 = 10; // Error!
5 char* s1 = "Hello"; // Error!
6 const char* s2 = "Hello"; // Correct!

 

6.指针常量

特征:指针本身的内容是个常量,不可以改变

int x = 1, y = 1;
int* const p2 = &x; //常量 p2的类型是 (int*)
*p2 = 10; // Okay! x=10
p2 = &y; // Error! p2 is a constant

 

总结

const int * x
int * const y

 

在前先读,在前不变

(指针)和 const(常量) 谁在前先读谁 ;* 代表被指的数据,名字代表指针地址

在谁前面谁就不允许改变。

posted @ 2020-10-14 18:10  mnfan  阅读(250)  评论(0)    收藏  举报