什么是大小端呢?如果学完C语言你还不知道这个东西那就说明基础太差了。
假设我们有下面这个例子:
int main()
{
int a = 1;
return 0;
}
那么这个a在内存中是怎么存储的呢?
编译器给出的结果是:
看到这个结果是不是有点懵逼,a这个变量值是1 ,在内存中存储应该是0x 00 00 00 01才对啊,为什么编译器给出的却是0x 01 00 00 00
这就是我们要讲到的大小端模式:
大端存储:就是把一个数的低位字节序的内容存放到高地址处,高位字节序的内容存放在低地址处。
小端存储:就是把一个数的低位字节序的内容存放到低地址处,高位字节序的内容存放在高地址处。
那我们又怎么知道电脑到底是按照那哪种方式存储的呢?
接下来介绍几种检测电脑是大端存储还是小端存储的方式:
注意这里说的都是含有字节序的类型的变量,比如int 而char类