#include unsigned int unaligned_access(unsigned char* ptr, unsigned int offset) { return *(unsigned int*)(ptr + offset); } int main(void) { unsigned int ints[2] = { 0x01020304, 0x05060708 }; printf("Value 0x%x\n", unaligned_access((unsigned char*)ints, 1)); return 0; }