значение указателя по умолчанию .?

Послушайте,

  typedef struct jig 
   { 
         int *a;
         int *b;
   }temp;

теперь вывод каскада 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");

is :

a is null
b is null

теперь 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");

выход :

a is not null
b is not null

почему это происходит?

14
задан Jeegar Patel 30 August 2011 в 08:10
поделиться