В typedef и struct namespaces в C vs С++, один из комментариев, по-видимому, подразумевает, что предоставление некоторого struct foo предпочтительнее использования typedef вдоль строк...
typedef struct foo foo;
... и затем используя foo вместо struct foo во всем API.
Есть ли недостатки в последнем варианте?