- If this is a valid struct definition
No it isn't. To grab part of the C17 6.7.2.1 formal grammar:
struct-declaration:
specifier-qualifier-list struct-declarator-listopt ;
static_assert-declaration
So to begin with, the struct needs to contain a "specifier-qualifier list" which in plain English is the const int
etc stuff before the variable name. Since this isn't present, gcc for example whines about a syntax error:
error: expected specifier-qualifier-list before '...' token
2.What would be the purpose of such a definition (where no fields/members are defined)?
I'm guessing it's either pseudo code or a dev "TODO" where they committed code that doesn't compile, since it has yet to be written.