0
点赞
收藏
分享

微信扫一扫

C++基础知识 - 枚举类型

八怪不姓丑 2022-02-12 阅读 106

1. 枚举的概念

枚举是 C/C++语言中的一种基本数据类型,它可以用于声明一组常数。
当一个变量有几个固 定的可能取值时,可以将这个变量定义为枚举类型。
比如,你可以用一个枚举类型的变量来表示季节,因为季节只有 4 种可能的取值:
春天、夏 天、秋天、冬天。

 

2. 枚举类型的定义

一般形式为:

enum 枚举名 {
	枚举元素 1,
	枚举元素 2,
	……
}; 

enum Season {
	spring,
	summer, 
 	autumn, 
 	winter
};

 

3. 枚举变量的定义

前面只是定义了枚举类型,接下来就可以利用定义好的枚举类型定义变量,跟结构体一样, 有 3 种方式定义枚举变量 :

  1. 先定义枚举类型,再定义枚举变量

    enum Season { 
    	spring, 
    	summer, 
    	autumn, 
    	winter 
    }; 
    
    int main(void){
    	enum Season s;
    }
    
  2. 定义枚举类型的同时定义枚举变量

    enum Season { 
    	spring, 
    	summer, 
    	autumn, 
    	winter 
    } s; 
    
  3. 省略枚举名称,直接定义枚举变量

    enum { 
    	spring, 
    	summer, 
    	autumn, 
    	winter 
    } s; 
    

上面三种方式定义的都是枚举变量 s

 

4. 枚举使用注意

  • C 语言编译器会将枚举元素(spring、summer 等)作为整型常量处理,称为枚 举常量
  • 枚举元素的值取决于定义时各枚举元素排列的先后顺序。默认情况下,第一 个枚举元素的值为 0,第二个为 1,依次顺序加 1。
#include <stdio.h> 
int main() { 
	// 1.定义枚举类型 
	enum Season { 
		spring, summer, autumn, winter 
	}; 
	
	// 2.定义枚举变量 
	enum Season s = winter; 
	printf("%d\n", s); 
	return 0; 
}

打印结果为:3 
也就是说 spring 的值为 0,summer 的值为 1,autumn 的值为 2,winter 的值为 3
也可以在定义枚举类型时改变枚举元素的值
#include <stdio.h> 
int main() { 
	// 1.定义枚举类型 
	enum Season{
	 	spring = 1, 
	 	summer, 
	 	autumn, 
	 	Winter
	};
	
	//2.定义枚举变量 
	enum Season s = winter; 
	printf("%d\n", s); 
	return 0;
}

打印结果为:4 
没有指定值的枚举元素,其值为前一元素加 1
可以给枚举变量赋枚举常量或者整型值
#include <stdio.h> 
int main() { 
	// 1.定义枚举类型 
	enum Season {
		spring, summer, autumn, winter
	} s;
	
	// 2.定义枚举变量 
	s = spring; 	//相当于 s = 0; 
	printf("%d\n", s); 
	
	s = winter;		//相当于 s = 3; 
	printf("%d\n", s); 
	return 0; 
}
打印结果 0		3
遍历枚举元素
	enum Season {
		spring, summer, autumn, winter
	} s;
	
	//遍历枚举元素 
	for (s = spring; s <= winter; s++) { 
		printf("枚举元素:%d \n", s); 
	}
输出结果: 
枚举元素:0 
枚举元素:1 
枚举元素:2 
枚举元素:3
举报

相关推荐

0 条评论