int *a ,b;
a = &b;
*a = 111;
printf("ポインタaの値は%dです。\n", *a);

これはビルドできるのに


int *a = 0;
*a = 111;
printf("ポインタaの値は%dです。\n", *a);

これはできないですね、、、。
大学でnullはできるだけ使わないようにと教授が言ってたけど
それに関係してるのかな。。