biên dịch với gcc C99typedef enum, xác định giá trị trong phạm vi
Tôi đã sử dụng enums một thời gian rồi. Tuy nhiên, tôi đang sử dụng một số mã mẫu để phát triển ứng dụng của mình. Và tôi đã bắt gặp một số mã như thế này. Tôi đã được thông báo rằng đây là cách sử dụng thực hành tốt nhất khi sử dụng enums. Nhưng tôi không thấy điều này có lợi thế gì.
typedef enum {
TYPE_DATE,
TYPE_TIME,
TYPE_MONEY,
TYPE_COUNT,
TYPE_UNKNOWN = TYPE_COUNT
} string_type_e;
Tại sao có và tại sao TYPE_COUNT
gán TYPE_COUNT
-TYPE_UNKNOWN
?
Rất cám ơn mọi đề xuất,
Tôi có thể gán các giá trị như 0x2 và 0xfffe cho các hằng số được đặt tên trong một enum không? – Namratha
@Namratha bạn có thể, và nó là khá phổ biến, nơi họ là một số giao thức, nơi các giá trị được cố định như là một phần của giao diện với một thành phần khác.Trong những trường hợp như vậy, có thể bạn sẽ không sử dụng thứ gì đó giống như 'TYPE_COUNT' ở cuối, trừ khi các giá trị tiếp giáp với nhau, bạn sẽ không tính đến chúng. –