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;
}

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

详细教程可转

爱编程的大丙

相关推荐
爱吃奥利奥_wen21 小时前
面向对象三板斧:封装、继承、多态,到底在“装“什么、“承“什么、“变“什么?
开发语言·经验分享·c#
我可能是个假开发21 小时前
FTP Unicode 文件名导致 `550` 的问题分析与解决方案
java·开发语言·spring
小师兄吃牛肉1 天前
C语言中的nullptr有必要吗
c语言·c++·算法
WL学习笔记1 天前
日期类(C++)
开发语言·c++·日期类实现
谢亮_vipxieliang1 天前
Go map与结构体的正确使用
开发语言·golang·哈希算法
H.莓飛1 天前
【C++】命名空间、缺省参数、函数重载与引用
linux·开发语言·c++·visual studio
lhbweilai1 天前
深挖FreeRTOS内核实现(三)
c语言·stm32·单片机
xxwl5851 天前
数据结构知识点和代码实现总结(C语言实现)
c语言·开发语言·数据结构
小灰灰搞电子1 天前
C语言 <time.h> 头文件详解
c语言·time.h
C++ 老炮儿的技术栈1 天前
sizeof操作符
c语言·c++·人工智能·mfc·c