Какое максимальное количество элементов может иметь перечисление в C? - PullRequest
2 голосов
/ 20 февраля 2012

У меня уже есть около 10 элементов в enum, которые я использую.Я хотел знать максимум, чтобы я мог правильно кодировать.

Ответы [ 2 ]

4 голосов
/ 20 февраля 2012

enum может содержать как минимум 1023 константы перечисления в соответствующей реализации ( см. §5.2.4.1 «Пределы перевода» ISO / IEC 9899: 1999 ).Таким образом, вы получаете нижнюю границу.

Поскольку тип константы перечисления int (, см. §6.4.4.3 «Константы перечисления» ИСО / МЭК 9899: 1999 ),верхняя граница будет INT_MAX + 1 (при условии отсутствия повторяющихся значений константы перечисления) или даже INT_MAX + 1 - INT_MIN, если вы также используете отрицательные значения.

Любая реализация может свободно выбирать, сколько констант перечисления может содержать перечисление,до тех пор, пока это между этими нижней и верхней границ

0 голосов
/ 20 февраля 2012

Вы говорите об идентификаторах в списке перечислителей? Перечисления являются int-константами, сколько int-констант вы можете иметь? Риторический вопрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...