联合体,判断字节序

默认分类 · 2024-04-02 · 29 人浏览

联合体所有成员共享同一块内存,可以用来判断系统是大端还是小端序

#include <iostream>
using namespace std;

union test{
    unsigned short a; //两个字节
    char b[2];
};

int main(){
    test t;
    t.a = 0x1234;

    printf("%x", t.b[0]); //低地址 输出 低位的 34
    printf("%x", t.b[1]); //高地址 输出 高位的 12

}

从输出可以看出,我的环境是小端序

Theme Jasmine by Kent Liao