C++

#include <iostream>
void judgeEndian() {
    int a = 0x01234567;
    // Windows 电脑按字节编址,int型占 4 Bytes
    //    big endian: 01 23 45 67
    // little endian: 67 45 23 01
    printf("a存放的首地址: %xH\n", &a);
    int c = *(char*)&a; // 取变量a这个int型的首地址,存放在内存空间的首地址;
    // (每个char只占一个字节,故这里转换为char指针,取出内存中a每个字节中的值)
    for (int i = 0; i < sizeof(a); ++i) {
        //%x 表示输出16进制
        printf("存放值:%02xH 存放地址:%xH\n", *((char*)&a + i), (char*)&a + i);
    }
    if (c == 0x01) printf("Big Endian\n");
    if (c == 0x67) printf("Little Endian\n");
}
int main() {
    judgeEndian();
    return 0;
}

// Console Output:
//a存放的首地址: 61fde4H
//存放值:67H 存放地址:61fde4H
//存放值:45H 存放地址:61fde5H
//存放值:23H 存放地址:61fde6H
//存放值:01H 存放地址:61fde7H
//Little Endian
This is just a placeholder img.