c-const
1: const修饰局部变量
const int n=5;
int const n=5;
这两种写法是一样的,都是表示变量n的值不能被改变了,需要注意的是,用const修饰变量时,一定要给变脸初始化,否则之后就不能再进行赋值了
2:const char* str="fdsafdsa";
修饰常量字符串字符串不可以被修改
3:常量指针--指针常量
常量指针
const int * n;//指向的内容是常量 指针指向的变量不可以被修改
int const * n;//指向的内容是常量 常量指针
指针常量
int *const n; 指针常量指向的地址不能改变
*在const后边是常量指针;
*在const前边是指针常量;
指向常量的常指针
const int* const p;
2:c中define 和const区别
1、预编译指令只是对值进行简单的替换,不能进行类型检查
2、可以保护被修饰的东西,防止意外修改,增强程序的健壮性
3、编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高
c++const
C语言中const常(变)量:其是只读变量,有自己的储空间,能通过地址间接修改其的值。
C++中的const常量:其是放在符号表中,可能分配存储空间,也可能不分配存储空间 ,使用&符号时候才分配一个临时内存空间。