1.编译器处理方式不同 #define:在预编译阶段进行替换,不做数据类型安全检查,只是替换 const:在编译运行阶段使用,会执行类型安全检查,如果出现错误编译器会报错 enum:在程序运行时起作用 2.分配内存不同 #define:在预编译阶段不分配内存,只是进行替换与展开,在于编译之后当有变量调用这个宏时才会分配一份内存, const...
C 语言中的关键字还是挺多的,比如经常看的类型关键字,如 int、char、float、struct、union、enum等;判断结构和循环结构的关键字,if、else、for、while等等;还有类型定义关键字 typedef。本篇文章来和大家来介绍 const 和 register 关键字。这两个又叫做修饰符,用来修饰变量的,让普通的变量产生特殊的意义。1....
C 语言中的关键字还是挺多的,比如经常看的类型关键字,如 int、char、float、struct、union、enum等;判断结构和循环结构的关键字,if、else、for、while等等;还有类型定义关键字 typedef。 本篇文章来和大家来介绍 const 和 register 关键字。这两个又叫做修饰符,用来修饰变量的,让普通的变量产生特殊的意义。 1...
const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。enum是C语言中的一种数据类型。enum是枚举型 union是共用体,成员共用一...
C语言的关键字共有32个,可分其为 数据类型关键字、控制语句关键字、存储类型关键字以及其它关键字 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 ...
使用宏与const实现一个enum 当然,你可以使用define和const实现一个非常像enum的东西 下面是我利用宏的...
首先,const是修饰,enum是类型定义,这个理解是对的。enum是定义一个新的类型,可以用这个新的类型来定义变量,而且变量的取值范围理论上应该只在enum指定的常量值中去取。就两都都可以定义常量这一点来看,区别是很明显的,enum定义常量,但这些常量本身只能是整型值。const是可以指定任意类型的数据为...
const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。enum是C语言中的一种数据类型。enum是枚举型 union是共用体,成员共用一个变量缓冲区。枚...
1 首先,请看下面的语句:enum enumType {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};这句话有两个作用:第一:声明enumType为新的数据类型,称为枚举(enumeration);第二:声明Monday、Tuesday等为符号常量,通常称之为枚举量,其值默认分别为0-6。(后面会介绍怎样显式的初始化枚举量的...