Указатели и массивы
Указатель на основной тип
Пример
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 имя объединения { описания_элементов },
Пример
union bigword {long bg_long, char *bg_char[4]}
Данные типа union bigword занимают память, необходимую для размещения наибольшего из своих элементов, и выравниваются в памяти к границе, удовлетворяющей ограничениям по адресации как для типа long, так и для типа char * [4]
Описание переменной объединенного типа
Пример
union bigword x,
union bigword *p,
union bigword a[l00],
7.6. Перечисления
Данные перечислимого типа относятся к некоторому ограниченному множеству данных Определение перечислимого типа данных
enum имя _перечислимого типа { список значении}
Каждое значение данного перечислимого типа задается идентификатором
Пример
enum color {
red green yellow
}
Описание переменной перечислимого типа
Пример
enum color chair,
enum color suite [40];
Использование переменной перечислимого типа в выражении
Пример
char = red,
suite [5] '= yellow
7.7. Переименование типов Формат
typedef старый _тип новый_тип
Примеры
typedef long large
/* определяется тип large эквивалентный типу long */
typedef char *stnng
/* определяется тип string эквивалентный типу char * */ Переименование типов используется для введения осмысленных или сокращенных имен типов, что повышает понятность программ, и для улучшения переносимости программ (имена одного типа данных могут различаться на разных ЭВМ)