//#############################################################
// const
// - 编译时的限制:一个对象不能被修改
//
int i = 1;
const int *p1 = &i; // 数据不能被修改,指针可以被修改
int* const p2 = &i; // 指针不能被修改, 数据可以
const int* const p3; // 指针和数据都不能被修改
// 容易搞错的一种情况
int const *p4 = &i; // 数据不能被修改,指针可以被修改
// 总结
// 如果const在*的【左边】, 那么【数据】为const
// 如果const在*的【右边】, 那么【指针】为const
/*
为什么要使用const
a.) 防止对数据的意外修改
b.) 使程序具有更好的可读性,知道这些数据是常量
c.) 使编译器能够做更多的优化,使代码更紧凑
d.) const往往意味着变量放在ROM上,在嵌入式编程中很有用
*/
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)