大端(字节序)存储:
数据的低位存储在内存的高地址中,数据的高位存储在内存的低地址。
小端字节序存储
数据的低位存储在内存低地址中,数据的高位存在内存的高地址中。
method 1
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
//判断当前所在环境下字节序
int a = 1;
char* p = (char*)&a;
if (*p!= 0)
{
printf("小端\n");
}
else
{
printf("大端\n");
}
return 0;
}
improve method
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int getcharsort()
{
int a = 1;
char* p = (char*)&a;
return *p;
}
int main()
{
int ret=getcharsort();
if (ret != 0)
{
printf("小端");
}
else
{
printf("大端");
}
return 0;
}
optimal solution
将函数改为下列
int getcharsort()
{
int a = 1;
return *(char*)&a;
}