В языке "C" предусмотрена возможность, называемая typedef для введения новых имен для типов данных. Например, описание
typedef int length;
делает имя length синонимом для int. "тип" length может быть использован в описаниях, переводов типов и т.д. Точно таким же образом, как и тип int:
length len, maxlen; /*объявлены две переменные типа length */
typedef length * pl;
plp; /*убъявлена переменная p типа pl, являющаяся указателем на length */
Когда мы объявляем какую-либо структуру, то чтоб объявить переменную типа этой структуры нужно каждый раз перед именем структуры писать ключевое слово struct. Можно избежать этого использовав директиву typedef.
typedef struct {char name[50];
int age;
shortgroup;
}
student;
Теперь имя student синоним для данной структуры и может быть использовано в различных описаниях.
students1,s2; /*переменные s1 и s2 имеют тип данной структуры*/