Введение в язык Си++

         

Эквивалентность типов


Два структурных типа являются различными даже когда они имеют одни и те же члены. Например:

struct s1 { int a; }; struct s2 { int a; };

есть два разных типа, поэтому

s1 x; s2 y = x; // ошибка: несоответствие типов

Структурные типы отличны также от основных типов, поэтому

s1 x; int i = x; // ошибка: несоответствие типов

Однако, существует механизм для описания нового имени для типа без введения нового типа. Описание с префиксом typedef описывает не новую переменную данного типа, а новое имя этого типа. Например:

typedef char* Pchar; Pchar p1, p2; char* p3 = p1;

Это может служить удобной сокращенной записью.



Содержание раздела