перечисление начинается с 0 и увеличивается на 1 для каждого значения.
Итак, у вас есть: NORTH = 0
, EAST = 1
, SOUTH = 1
, WEST = 3
, NUM_POINTS = 4
NUM_POINTS
устанавливается на количество элементов в перечислении.
Последняя строка создает псевдоним курса для точечного массива с 4 элементами в нем. Синтаксис немного сбивает с толку, потому что индекс массива идет после Course
, а не рядом с Point
.
typedef Point Course[NUM_POINTS] ;
Однако он работает так же, как, например:
int x[10];
Часть [10]
находится рядом с именем переменной, а не типом.