做网站的职业叫什么,培训网站制作,私人做网站图片,小程序搭建一.枚举#xff08; enum#xff09; 枚举是 C 语言中的一种基本数据类型#xff0c;用于定义一组具有离散值的常量#xff0c;它可以让数据更简洁#xff0c;更易读。枚举类型通常用于为程序中的一组相关的常量取名字#xff0c;以便于程序的可读性和维护性。定义一个枚…一.枚举 enum 枚举是 C 语言中的一种基本数据类型用于定义一组具有离散值的常量它可以让数据更简洁更易读。枚举类型通常用于为程序中的一组相关的常量取名字以便于程序的可读性和维护性。定义一个枚举类型需要使用 enum 关键字后面跟着枚举类型的名称以及用大括号 {} 括起来的一组枚举常量。每个枚举常量可以用一个标识符来表示也可以为它们指定一个整数值如果没有指定那么默认从 0 开始递增。
枚举语法定义格式为 enum 枚举名 {枚举元素1,枚举元素2,……};
例子
enum DAY
{MON1, TUE, WED, THU, FRI, SAT, SUN
};
注解 第一个枚举成员的默认值为整型的 0后续枚举成员的值在前一个成员上加 1。我们在这个实例中把第一个枚举成员的值定义为 1第二个就为 2以此类推。 二.共用体union 共用体是一种特殊的数据类型允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式。 为了定义共用体您必须使用 union 语句方式与定义结构类似。union 语句定义了一个新的数据类型带有多个成员。union 语句的格式如下
union [union tag]
{member definition;member definition;...member definition;
} [one or more union variables]; union tag 是可选的每个 member definition 是标准的变量定义比如 int i; 或者 float f; 或者其他有效的变量定义。在共用体定义的末尾最后一个分号之前您可以指定一个或多个共用体变量这是可选的。
例子
union Data
{int i;float f;char str[20];
} data; 注解 Data 类型的变量可以存储一个整数、一个浮点数或者一个字符串。这意味着一个变量相同的内存位置可以存储多个多种类型的数据。您可以根据需要在一个共用体内使用任何内置的或者用户自定义的数据类型。共用体占用的内存应足够存储共用体中最大的成员。例如在上面的实例中Data 将占用 20 个字节的内存空间因为在各个成员中字符串所占用的空间是最大的。 三.关键词集合你都用了几个 int表示整数类型。char表示字符类型。float表示单精度浮点数类型。double表示双精度浮点数类型。void表示无类型常用于函数返回值。true表示真值布尔类型。false表示假值布尔类型。if表示条件语句。else表示条件语句的另一种选择。switch表示开关语句。case表示开关语句中的一种选择。break表示跳出循环或开关语句。continue表示跳过当前循环的剩余部分继续下一个循环。while表示循环语句。do-while表示循环语句至少执行一次然后检查条件。for表示循环语句通常用于已知迭代次数的循环。goto表示无条件跳转语句。sizeof表示操作对象所占用的字节数。const表示常量即不可修改的值。static表示静态变量或函数即只在定义它的文件内有效。volatile表示易变的变量即可能会被外部因素改变。inline表示内联函数即将函数调用替换为函数体中的代码。extern表示外部变量或函数即在其他文件中定义但在当前文件中声明。typedef表示类型定义用于创建新的类型名称。struct表示结构体类型用于组合不同类型的变量。union表示联合体类型用于共享内存的结构体。enum表示枚举类型用于创建枚举类型的名称和枚举常量。long表示长整数类型。short表示短整数类型。signed表示有符号类型即可以表示正数和负数。unsigned表示无符号类型即只能表示非负数。main表示程序的入口函数。NULL表示空指针即没有指向任何对象的指针。true表示真值布尔类型。false表示假值布尔类型。sizeof表示操作对象所占用的字节数。const表示常量即不可修改的值。static表示静态变量或函数即只在定义它的文件内有效。volatile表示易变的变量即可能会被外部因素改变。inline表示内联函数即将函数调用替换为函数体中的代码。extern表示外部变量或函数即在其他文件中定义但在当前文件中声明。typedef表示类型定义用于创建新的类型名称。struct表示结构体类型用于组合不同类型的变量。union表示联合体类型用于共享内存的结构体。enum表示枚举类型用于创建枚举类型的名称和枚举常量。auto表示自动变量即由编译器自动分配内存空间的变量。register表示寄存器变量即存储在CPU寄存器中的变量以提高访问速度。void表示无类型常用于函数返回值。const表示只读变量即变量的值不能被修改。inline表示内联函数即将函数调用替换为函数体中的代码以提高执行效率。break表示跳出循环或开关语句。case表示开关语句中的一种选择。char表示字符类型。default表示开关语句中的默认选项。double表示双精度浮点数类型。float表示单精度浮点数类型。if表示条件语句。int表示整数类型。long表示长整数类型。short表示短整数类型。signed表示有符号类型即可以表示正数和负数。unsigned表示无符号类型即只能表示非负数。while表示循环语句。do-while表示循环语句至少执行一次然后检查条件。for表示循环语句通常用于已知迭代次数的循环。continue表示跳过当前循环的剩余部分继续下一个循环。goto表示无条件跳转语句。sizeof表示操作对象所占用的字节数。static表示静态变量或函数即只在定义它的文件内有效。volatile表示易变的变量即可能会被外部因素改变。extern表示外部变量或函数即在其他文件中定义但在当前文件中声明。typedef表示类型定义用于创建新的类型名称。struct表示结构体类型用于组合不同类型的变量。union表示联合体类型用于共享内存的结构体。enum表示枚举类型用于创建枚举类型的名称和枚举常量。long double表示双精度浮点数类型精度高于double类型。unsigned long表示无符号长整数类型。signed long表示有符号长整数类型。unsigned short表示无符号短整数类型。signed short表示有符号短整数类型。wchar_t表示宽字符类型用于存储Unicode字符。bool表示布尔类型可以表示真或假。true表示真值布尔类型。false表示假值布尔类型。thread_local表示线程局部变量即每个线程都有该变量的独立副本。alignas表示指定变量或类型的对齐方式。alignof表示操作对象所需的最小对齐字节数。noexcept表示函数不抛出异常。synchronized表示对象在多线程环境中是线程安全的。inline表示内联函数即将函数调用替换为函数体中的代码以提高执行效率。noexcept(true)表示函数不会抛出异常如果抛出异常则程序将终止。noexcept(false)表示函数可能会抛出异常调用者需要处理异常。thread_local_storage表示线程局部存储区即每个线程都有该变量的独立副本。atomic表示原子类型用于多线程并发访问时的同步操作。mutable表示变量可以在const上下文中被修改。thread_safe表示对象在多线程环境下是安全的。noexcept2表示函数不抛出异常并且不执行任何动态分配内存的操作。thread_local_init表示线程局部变量的初始化。constexpr表示编译时常量即在编译时计算结果。alignof(max)表示操作对象所需的最小对齐字节数最大值取决于实现。noexcept(throw)表示函数不会抛出异常如果抛出异常则程序将终止并立即抛出异常。noreturn表示函数不会返回通常用于标记终止程序的函数。export表示函数或变量可以被其他模块访问。import表示引入其他模块的函数或变量。macro表示宏定义用于替换代码片段。define表示定义宏用于替换代码片段。typedef表示类型定义用于创建新的类型名称。using表示使用命名空间中的名称。namespace表示命名空间用于组织代码。class表示类定义用于定义对象的结构和行为。