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

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

详细教程可转

爱编程的大丙

相关推荐
百锦再5 小时前
对前后端分离与前后端不分离(通常指服务端渲染)的架构进行全方位的对比分析
java·开发语言·python·架构·eclipse·php·maven
Want5955 小时前
C/C++大雪纷飞①
c语言·开发语言·c++
有时间要学习6 小时前
Qt——窗口
开发语言·qt
消失的旧时光-19437 小时前
@JvmStatic 的作用
java·开发语言·kotlin
skywalk81637 小时前
基于频域的数字盲水印blind-watermark
linux·开发语言·python
Tiger_shl7 小时前
三大并发集合ConcurrentDictionary、ConcurrentBag、ConcurrentQueue
开发语言·c#
火锅机器7 小时前
java 8 lambda表达式对list进行分组
java·开发语言·list
shaominjin1237 小时前
android在sd卡中可以mkdir, 但是不可以createNewFile
android·开发语言·python
筱砚.7 小时前
【STL——stack容器】
开发语言·c++
曦樂~7 小时前
【Qt】定时器--滚动相册
开发语言·qt