"Flat Initializer Lists" is given as an example in K&R C I think, at least the first edition, when writing those extra braces to fill out an initializer must have felt very redundant.
These days many compilers will warn if you do this, however, as it is rare people do this and usually indicates a misunderstanding of the type used.
I think it's quite readable though, so it's a shame it causes warnings. What do you think?
struct { const char *name; int age; } records[] = {
"John", 20,
"Bertha", 40,
"Andrew", 30,
};