Несколько вещей, которые следует помнить о C и философии программирования C:
- Это продукт начала 1970-х годов;
- Он был разработан в первую очередь для реализации * операционная система Unix;
- Она избегает высокоуровневых абстракций в обмен на скорость;
- Предполагается, что программист всегда знает, что он или она делает;
- Предполагается, что программист лучше всех знает, нужно ли выполнять какие-либо границы или проверку диапазона, и достаточно умен, чтобы написать код для выполнения этой проверки;
Перечисления в C - удобный способ обозначения наборов значений, которые не обязательно упорядочены, но это все, что нужно. Они не являются абстракцией высокого уровня в C, как в Java или C#. Константы перечисления не привязаны к какому-либо конкретному c типу перечисления, и объекты перечисляемого типа могут принимать значения вне набора определенных для них констант перечисления.
Это больше удобство обозначений, чем что-либо еще.