今天查看以前的代码,进行优化,回想到const和define一些区别,记录下来。
1.const是关键字,define不是关键字。
2.const定义的是只读变量,不是常量,define宏定义的是常量,变量不能作为定义数组的维数,也不能放在case关键字后面,因为它是只读的初始化后不能更改。
3.const只读变量只有一份内存拷贝,只是给出对应的内存地址,define在预编译阶段进行替换。
4.const定义的只读变量有类型,define宏没有类型。
const修饰指针,将类型省去看修饰的类型,如const int * i,修饰的*i,所以i指向的内容只读不可变。