Syntactically both treat struct
almost the same. Only C++ has added an extra rule that allows to omit the struct
(and class
) keyword if there is no ambiguity.
If there is ambiguity, also C++ requires the struct
keyword in some places. A notorious example is stat
on POSIX systems where there is a struct stat
and a function stat
.