请简述字节序的概念,并用联合体 (共用体)的方式验证计算机是大端还是小端?
小端字节序:低序字节储存在低地址上
大端字节序:低序字节储存在高地址上
main.c
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <pthread.h>
#include <semaphore.h>
#include <stdlib.h>
union endian
{
int i;
char c;
} end;
int main(int argc, const char *argv[])
{
union endian e;
e.i = 0x12345678;
if (0x78==e.c)
{
printf("小端\n");
}else if (0x12==e.c)
{
printf("大端\n");
}else{
printf("error\n");
}
return 0;
}
结果: