How to determine whether a system is little endian or big endian in C

2 Answers

0 votes
#include <stdio.h>

int main() {
    int x = 1;
    
    char *y = (char *) & x;

    char result = *y;

    if (result == 1) {
        puts("little endian");
    }
    else {
        puts("big endian");
    }

    return 0;
}

 
 
/*
run:
 
little endian
 
*/

 



answered Jun 30, 2024 by avibootz
0 votes
#include <stdio.h>

int main() {
    int x = 1;

    if (*((char *) & x) == 1) {
        puts("little endian");
    }
    else {
        puts("big endian");
    }

    return 0;
}

 
 
/*
run:
 
little endian
 
*/

 



answered Jun 30, 2024 by avibootz
...