初心者的な質問で申し訳ないのですが
struct A{ int val; struct A *next; struct B *b;} *a1;
struct B{ int val; struct *next;} *b1;

a1->val = N; はできますよね
a1->b->val = N; としようとするとエラーが出るんですがこういうようにしたい場合どう書けばいいんでしょうか?