>>864
できますか

これも書き間違えてましたがstruct Bの方が先に書いてあるのでそこではエラーは出ていません
a1->b->val = N;をなくすとコンパイルも通るので宣言の部分でのエラーというのは考えられません
他に変なところがないか見てみます