如何判斷作業系統大小端

未连接到互联网發表於2024-03-17

用一個函式判斷當前系統是大端序(big-endian)還是小端序(little-endian):

#include <stdio.h>

int check_endian() {
    unsigned int num = 1;
    char *ptr = (char *)&num;
    return (int)*ptr;
}

int main() {
    if (check_endian() == 1) {
        printf("小端序\n");
    } else {
        printf("大端序\n");
    }
    return 0;
}

透過建立一個整數變數 num 並獲取其地址,然後將地址轉換為字元指標 ptr。透過檢查該指標所指向的記憶體位置上的值,就可以確定系統的位元組序。

相關文章