#define 是在预处理阶段,对代码的替换
它之进行简单的替换,并不进行类型检查,同时也不开辟空间
例如#definde PI 3.14
void main()
{
int s=0,r=5;
s=PI*r*r
}
在预处理之后代码就变成了
void main()
{
int s=0,r=5;
s=3.14*r*r//编译器遇到PI就用3.14替换
}这里要注意的是
define PI 3.14 //这里不能写成赋值,也不能带';'
const 叫做常变量
它在定义时用来修饰变量,这个变量具有常性,变量的数据不能修改。
例如
void main()
{
const int PI=3;
PI=3.14;//这样是编译不通过的。因为const修饰的变量的值不能改变
}
const和define既然都是替换,有什么区别呢
1.define是在预处理阶段进行替换,而const是在编译阶段
2.define不开辟空间;const开辟空间
3.define不进行类型检查,const进行类型检查
enum
enum是计算机编程语言中的一种数据类型
枚举类型定义的一般形式为:
enum 枚举名{
枚举值表 };
enum num{a,b,c=6,d,e,f}; //第一个值a默认为0,后一个值默认为前一个+1;
枚举值是常量,不是变量,所以不能给枚举赋值,只能在定义时初始化;