C++だと
struct Foo;
と書けばFoo構造体の宣言ができるけど、
Cだとどう書くの?

下の関数の宣言だと
void func(Foo *f);
構造体の宣言だけで済む
(コンパイラ依存が減る)ので
これをCでやるにはどうするのか、という質問です