第八章 - c语言中的联合体和枚举

六、联合体
  1. 理解:联合体类型也是由不同的类型的域构造而成,定义形式与结构类型类似。

  2. 联合体语法:

    复制代码
    union 联合体类型名
    { 域定义表 }联合体变量名;
    
    或是:
    union 联合体类型名
    { 域定义表 }联合体变量名={初始值};
    
    
    具体如下:
    union 联合体类型名{ 
        类型名  联合成员名1;
        类型名  联合成员名2;
        ...
        类型名  联合成员名n;
    }联合体变量名;
    
    
    注意:联合体变量只能拿初试化第一个联合成员,以{}界定的初始值是第一个域变量的值
  3. 案例:

    复制代码
    union data{
    	int i;
    	char ch;
    	long lg;
    }u{100};  // 联合体变量u的域变量i初始化为 100 
七、枚举类型
  1. 理解:枚举是一类个数有限的整型数据。

  2. 应用场景:设置星期、性别、季节、布尔类型

  3. 语法:

    复制代码
    (1) 语法1:
        enum 枚举类型名{
            常量列表
        }
    (2) 语法2:
        typedef enum {
            常量列表
        }枚举变量;
        
    语法细节:
    (1) 枚举{}中定义多个符号常量,以逗号隔开,第一个符号常量默认为1,后面依次类推2,3,4....
    (2) 枚举常量符号是整型值,可以参与整数运算
  4. 案例:

    复制代码
    (1) 简单的星期的设置操作
        #include <stdio.h>
        enum week{
            Mon,Tue,Wed,Thu,Fri,Sat,Sun 
        };
    
        void main(){
            enum week x=Mon,y=0;
            y = x+3;
            printf("%d",x);
            printf("%d",y);
        }
相关推荐
meiying883816 分钟前
快递单号批量查询Python脚本:从手动到自动化的完整实现
开发语言·python·自动化
Zwawa44 分钟前
编译器工具链:GCC、Clang、MSVC、ICC、armclang
c语言·嵌入式·编译器
@大迁世界1 小时前
告别 Go,拥抱 Rust
开发语言·golang·rust
SEO_juper1 小时前
Node.js 重定向链检测工具:301 跳了几跳、有没有成环,一次看清
xml·开发语言·python·node.js·json·bash
学逆向的1 小时前
C 指针常量与常量指针
c语言·开发语言·网络安全
水饺编程2 小时前
第2章:Linux 基础,exit 命令
linux·c语言·汇编
低调滴开发2 小时前
3 行代码写崩一个函数?切片才是 Rust 字符串处理的正确姿势
开发语言·后端·rust
CodeYp20192 小时前
第15讲:二叉搜索树
开发语言·c++·二叉搜索树
猫猫.1532 小时前
HashTable、HashMap、ConcurrentHashMap 核心区别总结
java·开发语言·java-ee
乌暮3 小时前
综合案例:宠物电商系统
java·开发语言·spring·mvc·restful·1024程序员节