I have noticed a behaviour that I can't explain it. `
typedef unsigned char mac_address_t[6];
mac_address_t* c = malloc(sizeof(mac_address_t));
printf("%p
", c);
printf("%p
", (*c));`
the value printed are the same. another way to print the value is
printf("%p
", &(*c)[0]);
but this one I can understand, the first start access to the array and [] access to the element of the array. I can't understand the logic behind c and *c in this situation. Also if the value it's the same why I can't do c[i] to access to the element? Someone can help me?