#include <stdio.h>
#include <stdio.h>
#include <stdint.h>
#include <limits.h>
#include <arpa/inet.h>
#include <errno.h>

union my_data {
    int i;
    double d;
    _Bool b;
    char bytes[sizeof(int)];
};

int main() {
    union my_data data;
    data.i = 23;
    printf("%d\n", data.i);
    printf("Bytes: [%i, %i, %i, %i, %i, %i, %i, %i]\n", data.bytes[0], data.bytes[1], data.bytes[2], data.bytes[3], data.bytes[4], data.bytes[5], data.bytes[6], data.bytes[7]);
    data.d = 2.5;
    printf("%d\n", data.i);
    printf("Bytes: [%i, %i, %i, %i, %i, %i, %i, %i]\n", data.bytes[0], data.bytes[1], data.bytes[2], data.bytes[3], data.bytes[4], data.bytes[5], data.bytes[6], data.bytes[7]);
    data.b = 1;
    printf("%d\n", data.i);
    printf("Bytes: [%i, %i, %i, %i, %i, %i, %i, %i]\n", data.bytes[0], data.bytes[1], data.bytes[2], data.bytes[3], data.bytes[4], data.bytes[5], data.bytes[6], data.bytes[7]);
}