prog.c: In function 'main':
prog.c:13:14: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
foo.next = &bar; // Тут на нас обоснованно ругаются, т.к. мы присваиваем указатели на безымянную
^
prog.c:14:14: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
bar.next = &foo; // структуру с тайпдефнутым именем, а не на ожидающуюся struct str_type.
^
prog.c:16:28: error: dereferencing pointer to incomplete type 'struct str_type'
printf("%i\n", foo.next->a);
^
cc1: all warnings being treated as errors