An incomplete type is a type that describes an identifier but lacks information needed to determine the size of the identifier. An “incomplete type” can be:
The void type is an incomplete type that cannot be completed. To complete an incomplete type, specify the missing information. The following examples show how to create and complete the incomplete types.
ps
pointer points to an incomplete structure type called student
. struct student *ps;
struct student
{
int num;
} /* student structure now completed */
char a[]; /* a has incomplete type */
char a[25]; /* a now has complete type */