You can already do that in standard C like this:
struct test {
int a;
struct {
char b;
float c;
} test2;
double d;
};
I can't think of any particular reason why you'd want an unnamed struct inside a struct, but you definitely would want to be able to have an unnamed struct inside a union. I suspect the struct-inside-struct thing can become useful in some scenarios involving unions.