You can use an unnamed structure wherever you can use a structure - the only difference is that it does not get a name that can be used elsewhere. You can declare a new type wherever you can use a type, to a large extent. In most cases, this does not really matter, but that is another matter.
I would definitely not recommend this, except in special cases, but it really is.
source share