This is my sample. It reverses the endianess of an integer. Notice that C doesn't specify the size of int. It could be 16, 32, 64 ... Using the (uint_16t, uint_32t, uint_64t) instead if you want to ensure the size,
void reverse_endianess(int* number)
{
char byte_arr[8] = {0};
int i;
for (i=0; i < sizeof(int); i++) {
byte_arr[i] = (*number & 0xFF);
*number = *number >> 8;
}
*number = 0;
for (i=0; i < sizeof(int); i++) {
*number |= byte_arr[i];
*number = *number << 8;
}
}