C语言 联合体验证 主机字节序 +枚举

联合体应用:验证当前主机的大小端(字节序)

c 复制代码
//验证当前主机的大小端
#include <stdio.h>

union MyData
{
    unsigned int data;
    struct
    {
        unsigned char byte0;
        unsigned char byte1;
        unsigned char byte2;
        unsigned char byte3;
    }byte;
};

int main()
{
    union MyData num;
    num.data = 0x12345678;
    if (0x78 == num.byte.byte0)
    {
        printf("小端字节序\n");
    }
    else if (0x78 == num.byte.byte3)
    {
        printf("大端字节序\n");
    }
    return 0;
}

枚举

枚举(Enumeration)是一种在编程语言中表示一组具名常量的数据类型。

c 复制代码
//使用枚举包含一周的七个值
#include <stdio.h>

// 定义一个枚举类型
enum Weekday 
{
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
};

int main() 
{
    // 定义枚举变量
    enum Weekday today;
    // 设置枚举变量的值
    today = WEDNESDAY;

    // 使用 switch 语句根据枚举变量的值进行处理
    switch (today) 
    {
    case MONDAY:
        printf("Today is Monday.\n");
        break;
    case TUESDAY:
        printf("Today is Tuesday.\n");
        break;
    case WEDNESDAY:
        printf("Today is Wednesday.\n");
        break;
    case THURSDAY:
        printf("Today is Thursday.\n");
        break;
    case FRIDAY:
        printf("Today is Friday.\n");
        break;
    case SATURDAY:
        printf("Today is Saturday.\n");
        break;
    case SUNDAY:
        printf("Today is Sunday.\n");
        break;
    default:
        printf("Invalid day.\n");
    }

    return 0;
}

枚举常常用于定义一组相关的离散值,比如颜色、星期几、月份等。

详细教程可转

爱编程的大丙

相关推荐
基哥的奋斗历程39 分钟前
Kotlin_Flow_完整使用指南
android·开发语言·kotlin
心之伊始39 分钟前
Java synchronized 锁升级全过程深度解析:从 Mark Word 到偏向锁、轻量级锁与重量级锁的 HotSpot 实现
java·开发语言·word
小曹要微笑1 小时前
STM32各系列时钟树详解
c语言·stm32·单片机·嵌入式硬件·算法
q***06291 小时前
搭建Golang gRPC环境:protoc、protoc-gen-go 和 protoc-gen-go-grpc 工具安装教程
开发语言·后端·golang
布丁写代码1 小时前
GESP C++ 一级 2025年09月真题解析
开发语言·c++·程序人生·学习方法
GOTXX2 小时前
用Rust实现一个简易的rsync(远程文件同步)工具
开发语言·后端·rust
诸葛亮的芭蕉扇2 小时前
抓图巡检-底图支持绘制
开发语言·前端·javascript
inputA2 小时前
【LwIP源码学习8】netbuf源码分析
android·c语言·笔记·嵌入式硬件·学习
止水编程 water_proof3 小时前
JavaScript基础
开发语言·javascript·ecmascript
小小测试开发4 小时前
JMeter JSR223预处理程序高级用法:解锁自动化测试的灵活性上限
开发语言·jmeter·groovy