Look,
  typedef struct jig 
   { 
         int *a;
         int *b;
   }temp;
now stage 1 :
temp *b;
b= (temp*)malloc(sizeof(temp));
if(b->a != NULL)
    printf("a is not null\n");
else
    printf("a is null\n");
if(b->b != NULL)
    printf("b is not null\n");
else
    printf("b is null\n");
output is :
a is null
b is null
now stage 2 :
temp b;
if(b.a != NULL)
    printf("a is not null\n");
else
    printf("a is null\n");
if(b.b != NULL)
    printf("b is not null\n");
else
    printf("b is null\n");
output is :
a is not null
b is not null
why this is happening?
 
     
     
     
    