Абстрактные типы данных
Абстрактный тип данных используется в тех случаях, когда требуется обозначить некоторый тип данных как таковой без привязки к конкретной переменной:
-в операции sizeof;
-в операции явного преобразования типа данных;
-при объявлении формальных параметров внешней функции с использованием прототипа.
Во всех случаях используется тот же самый контекстный способ определения, в котором отсутствует имя переменной. Рассмотрим примеры:
p = malloc(sizeof(char *) * 20);
Резервируется память для размещения 20 указателей на строки.
long l;
((char *)&l) [2] = 5;
Указатель на переменную l типа long явно преобразуется в указатель на символ (байт) -значение 5 записывается во второй (начиная с нулевого) байт длинного целого l.
extern int strcmp(char *, char *);
прототип внешней функции сравнения строк с двумя формальными параметрами -указателями на строки.