すいません実体は用意しているつもりです
struct A{ int val; struct A *next; struct B *b;} *a1;
struct B{ int val; struct *next;} *b1;

a1 = (struct A *)malloc(sizeof(struct A));
a1->b = (struct B *)malloc(sizeof(struct B));

これで
a1->val = N; は大丈夫ですよね?
a1->b->val = N; というようなことがしたいということです

書き忘れですすいません