Structure pointer returning the start byte of member of structure .I wondered how it works. PLease some one help me to get know about this.
 #include <stdio.h>
 typedef struct node {
  char mem;
  double mem2;
  char mem3;
  int mem4;
  char mem5;
  char mem6;
 }NODE;
 int main()
 {
     NODE * m;
     printf("%u",&m->mem3);
     return 0;
 }
Output is 16
 
    