#include #include int main() { // Allocate a byte array with at least 8 bytes char* byteArray = (char*)malloc(8); // Store the integer 0x04030201 in memory int* intPtr = (int*)byteArray; *intPtr = 0x04030201; // Print out the bytes in order printf("Bytes in memory: "); for (int i = 0; i < 4; i++) { printf("%02X ", byteArray[i]); } printf("\n"); // Determine if the integer was stored in little or big-endian order int value = *intPtr; printf("Integer value: 0x%08X\n", value); if (byteArray[0] == 0x01 && byteArray[1] == 0x02 && byteArray[2] == 0x03 && byteArray[3] == 0x04) { printf("The integer is stored in big-endian order.\n"); } else if (byteArray[0] == 0x04 && byteArray[1] == 0x03 && byteArray[2] == 0x02 && byteArray[3] == 0x01) { printf("The integer is stored in little-endian order.\n"); } else { printf("Unable to determine endianness.\n"); } // Free the allocated memory free(byteArray); return 0; }