尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

C语言学习--枚举

C语言学习--枚举 枚举什么是枚举枚举Enumeration是C语言中的一种用户自定义数据类型用于定义一组相关的常量。枚举使我们可以为这些常量分配有意义的名字从而提高代码的可读性和可维护性。如果我们定义一个变量用来表示一周中的一天该变量的值只能从七个有效值中选择枚举可以帮助我们限制变量的有效值。如何定义枚举语法格式枚举使用enum关键字来定义枚举名称和枚举元素名称都是标识符定义一个枚举就是定义了一种枚举数据类型语法如下enum 类型名{枚举常量,枚举常量,枚举常量,枚举常量...}enum 类型名{枚举常量 整数,枚举常量,枚举常量,枚举常量...}枚举常量枚举元素也称为枚举成员或枚举常量具有如下特点1枚举元素的值必须在同一枚举中是唯一的2枚举元素的值必须是整数类型通常是int3如果没有为枚举元素指定值编译器会自动为它们分配值从0开始依次递增。4定义枚举的时候也可以为枚举元素自定义值需保证唯一性和整型类型。#include stdio.h enum Bool { FALSE, // 0 TRUE, // 1 // 未显式赋值时第一个常量默认为0后续依次1 }; int main() { // 定义 Bool 类型的变量 enum Bool b1 TRUE; enum Bool b2 FALSE; printf(b1%d \n, b1); printf(b2%d \n, b2); // 只能从预定义常量中选择TRUE/FALSE不能直接赋其他整数值 printf(%d %d \n, TRUE, FALSE); printf(%zu %zu \n, sizeof TRUE, sizeof FALSE); printf(%zu %zu \n, sizeof b1, sizeof b2); printf(\n); return 0; }定义枚举变量的三种方法第一种 先定义类型再定义变量第二种 同时定义类型和变量第三种 同时定义类型和变量省略类型名#include stdio.h int main() { /*自定义枚举类型可以有作用域限制 定义在函数内部则只在该函数内可用 通常建议定义为全局类型 */ // 第一种 先定义类型再定义变量 enum Gender { Female, Male, Abinary, NonBinary }; enum Gender g1 Female; // 第二种 同时定义类型和变量 enum Weekday { MONDAY 1, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } w1 THURSDAY, w2 FRIDAY, w3 SUNDAY; enum Weekday w4 MONDAY; // 第三种 同时定义类型和变量省略类型名 enum { MONDAY 1, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } wd THURSDAY; return 0; }指向枚举变量的指针enum Gender *ptr g1;
返回列表