typdef struct undeclared_struct_st UND_STRUCT_S;
. It declares struct undeclared_struct_st as a non-return type, and then declares UND_STRUCT_S as a typedef for struct undeclared_struct_st . You cannot create objects of an incomplete type, but you can create pointers to objects of an incomplete type. struct undeclared_struct_st can be declared in another translation unit.
source share