I am trying to understand how structure aliases get compiled into a binary, especially when there is a modifier in front of it. I notice that having an alias both with and without a * result in different binaries (checked using shasum). For example, given the following structure:
typedef struct __foobar {
int a;
int b;
} *pfoobar_t, foobar_t;
how are the following variable declarations different from the C standard and a compiler perspective:
const pfoobar_t my_var;
const foobar_t *my_var;
foobar_t const *my_var;
Thank you in advance.