typedef struct
{
  int a;
  int b;
  int c;
} TEST;

TEST *p;
と書くとpのための領域が4バイト確保される

p = malloc(sizeof(TEST));
と書くと12バイト分の領域を確保した上で、その先頭アドレスがpに格納される

p++;
と書くとpに格納されていたアドレス値が12増える