大小端存储
0. 问题引入
若定义 : int a = 1; 我们知道 a 在内存存储时 应该为 0x 00 00 00 01,可是看内存里存的是 0x 01 00 00 00,这就是大小端存储的问题。

1.什么是大小端存储
高字节和低字节:

高地址和低地址:

大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。
小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。

2 如何测试机器是大端模式还是小端模式
1,利用指针来测试
1 #include <stdio.h>
2
3 int main()
4 {
5 int a = 1;
6 char *p = (char*)&a; // 用char型指针访问第一个字节的内容
7
8 if (*p == 1)
9 {
10 printf("小端");
11 }
12 else
13 {
14 printf("大端");
15 }
16 return 0;
17 }


