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");
出力は:今
a is null
b is null
ステージ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
なぜこれが起こっていますか?
初期化されていない変数について、コンパイラの警告が表示されましたか? –
-wallそれは何の警告も表示しません... !!! –
実装関連の結果には依存しないでください。 – Stan