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