E' esattamente il contrario.L'unica spiegazione che mi sono dato è che struct in questo caso è usato come una sorta di modificatore e non come strumento per la creazione di un nuovo tipo.
In C++ è opzionale. In C se si utilizza una struct è obbligatorio specificare che lo sia. Se togli la parola chiave ti da errore.