Указатель на основной тип
Пример
char *p,
Переменная р является указателем на символ, т. е. этой переменной должен присваиваться адрес символа. Указатель на указатель
Пример
char **t,
Переменная t - указатель на указатель символа. Одномерный массив
Пример
int a [50];
Переменная а - массив из 50 целых чисел. Двухмерный массив
Пример
char m[7][50];
Переменная m - массив из семи массивов, каждый из которых
состоит из 50 символов. Массив из семи указателей
Пример
char *G[7];
Массив G состоит из указателей на символы. Указатель на функцию
Пример
int (*f)();
f - указатель на функцию, возвращающую целое значение.
Структуры
struct имя _структуры {
описания_элементов
Пример
struct dinner {
char * place,
float cost,
struct dinner *next, };
Структурная переменная описывается с помощью структурного типа.
Примеры
struct dinner week_days [7], /* массив структур */
struct dinner best_one, /* одна структурная переменная */
struct dinner *p; /* указатель на структурную переменную */
Поля бит в структурах
struct bfeg {
unsigned int of_fldl 10;
unsigned int bf_fld2 :
Данная структура описывает 10-битовое поле, которое для вычислений преобразуется в значение типа unsigned int, и 6-битовое поле, которое обрабатывается как значение типа unsigned int.
Объединения
Объединение' описывает переменную, которая может иметь любой тип из некоторого множества типов.
Определение объединенного типа данных аналогично определению структурного типа данных
union имя объединения { описания_элементов },