概念,干什么,为什么用,优缺点,与其他知识点的区别
概念,干什么
const修饰的变量无法被更改
const int * a; 常量指针,指针指向的值不可改
int * const a; 指针常量,指针指向不可改
优缺点
- 防止不小心修改了常量区的值,例如 :char str[] = "asdfasdf";str[2]= ‘ v ’;使得逻辑错误再编译时就被发现
与define的区别
从定义变量的角度来看
- const修饰的是变量,会占用空间,define只是字符串替换,不占用空间
- const修饰的变量有类型,define修饰的没有类型
- const有类型检查,可以检测出来一些误修改导致的错误
从起作用的阶段来看
- const是再编译运行期间生效,define是再运行处理时生效
- const作用域是当前作用域,define是整个文件