Все данные делятся на: - Скалярные: - Числовые - Символьные - Перечислимые - Указатели - Агрегаты: - Векторы - Массивы - Структуры - Классы - Списки ```cpp // Позволяет замену определения типа данных typedef int I; typedef float F; // Определяет тип menu, который при объявлении принимает void и возвращает void typedef void(*menu)(); menu m_f[10]; void f1(); void f2(); ... // Определяет тип thing, который при объявлении принимает float и возвращает float typedef float(*thing)(float); ``` Имя массива указывает на адрес в памяти, где находится первый элемент массива. Имя функции - указатель на адрес в памяти, где содержится сама функция.