常量与指针
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(常量) 谁在前先读谁 ;* 代表被指的数据,名字代表指针地址

浙公网安备 33010602011771号