ВУЗ:
Составители:
Рубрика:
54
int * – указатель на целое,
int * [10] – массив указателей на целое,
int (*)[10] – указатель на массив на 10 целых,
int * (void) – функция без аргументов, возвращающая ука-
затель на целое,
int (*) (void) – указатель на функцию без аргументов, воз-
вращающую результат целого типа,
int (*(void))[ ] – функция без аргументов, возвращающая ука-
затель на массив целых.
14. Синоним имени типа
Синоним имени типа строится при помощи ключевого слова
typedef. Выражение, в котором присутствует это ключевое слово, явля-
ется описанием некоторого имени. Наличие слова typedef говорит о том,
что объявляемый идентификатор становится не именем объекта некото-
рого типа, а синонимом имени этого типа.
int INTEGER; // INTEGER – имя переменной типа int
typedef int INT; // INT – синоним типа int
typedef unsigned size_t;
typedef char string [255];
typedef void (*FPTR) (int);
Последние две строки определяют string как синоним типа «стро-
ка из 255 символов», а FPTR – синоним типа «указатель на функцию,
имеющую один аргумент типа int и не возвращающую никакого резуль-
тата».
После объявления с помощью typedef новое имя становится пол-
ноценным именем типа:
string array; // array – массив из 255 символов
FPTR func_pointer; // void (*func_pointer)(int);
typedef string STRING;
Использование typedef может упростить понимание сложных
имен типов. Так, тип int (*(void))[ ] можно построить так:
typedef int intarray[]; // тип «массив целых»
typedef intarray * ptrtointarray; //тип указателя на массив це-
лых
typedef ptrtointarray TYPE (void);
Страницы
- « первая
- ‹ предыдущая
- …
- 50
- 51
- 52
- 53
- 54
- …
- следующая ›
- последняя »