c_two, c_three};enum snum : short // 加上 :short 则元素是 short 类型{ s_one, s_two, s_three};enum inum : int // 加上 :int 则元素是 int 类型{ i_one, i_two, i_
由于C++项目中用了相对比较多的枚举(enum),正常情况下,枚举变量都是占用一个整形类型的大小,但是项目中枚举(enum)只需要使用到一个字节的大小,因为是在嵌入式设备上执行的代码,资源比较少,那么如果枚举都是按照int型大小来使用的话,这无疑是一种资源浪费。
但enum也有一个隐含问题:enum变量占用的空间与编译器相关。 多数编译器默认enum型长度等于int型,很多人也把enum型变量等同于int,但C标准在这里留下了尾巴:“枚举型尺寸是能够容纳最大枚举子值的整数尺寸”,“枚举类型中枚举子的值必须要能用一个int型表述”。也就是说,枚举型的尺寸不能超过int型,但不必等于int...
枚举更省空间,一个枚举变量只占其中一个元素的空间,也就是说枚举变量的所有元素共享同一片空间。比如一个枚举变量有8个int元素,那么这样的枚举变量其实只有一个int大小的空间。
enum{ MON=1, TUE, WED, THU, FRI, SAT, SUN } day; 枚举在 switch 语句中的使用 #include <stdio.h> #include <stdlib.h> int main(){ enum COLOR { red = 1, green, blue, }; enum COLOR favorite_color; printf("Input your favorite color:"); ...
数据类型相当于一个模子,他能规定用他来定义的变量对应的内存空间的大小。 5.数据类型的分类 5.1基本类型 字符类型 char 整型short int long long long 实型(小数) float double 枚举类型 enum 5.2构造类型 数组 结构体 struct 共用体 union 5.3指针类型 ...
枚举类型,在C语言中求sizeof,可以先定义一个枚举类型,然后对枚举类型中的元素,或者对类型求size,获取到内存长。代码如下 include<stdio.h>enum TEST{ TEST0, TEST1, TEST2};int main(){ printf("size of TEST is %d\n", sizeof(TEST));//用类型求大小。 printf("size o...
enumcolor{ red, green, blue, white, black } 枚举类型中的成员默认值为从0开始,依次序递增。此时red==1,green为2,blue为3,white为4,black为5. 也可以改变起默认值。如 enumcolor{red=1,green=3,blue=5,white,black}; 没有初始化的枚举类型成员的值将在它前面的成员基础上递增。所以,white的值为6,...