Неполные типы
Неполный тип - это тип, который описывает идентификатор, но нет сведения, необходимые, чтобы определить размер идентификатора.«Неполный тип» может быть:
Члены типа структуры, пока не указан.
Члены типа соединения, который еще не заданы.
Измерение типа массива, который еще не заданы.
Тип void неполный тип, который не может быть завершена.Чтобы завершить неполный тип, укажите отсутствующие сведения.В следующих примерах показано, как создать и выполнить неполные типы.
Для создания неполный тип структуры, объявите тип структуры без указания его элементов.В этом примере ps точки указателя на неполный тип структуры, вызываемому 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 */