Kiểu enum là một kiểu dữ liệu đặc biệt được dùng để định nghĩa một quan hệ thứ tự cho một tập họp hữu hạn các tên. CODE: Select All enum Wiki {Arisa, Bluesman, VietBio, Trung, Quang, Minh}; Để khai báo biến wikimember có kiểu enum dùng câu lệnh: Mã: Select All enum wikimember; Các giá trị (hiểu ngầm) của các kí hiệu Arisa, Bluesman, VietBio, Trung, Quang, Minh theo mặc định sẽ tương ứng với 0, 1, 2, 3, 4, 5. Các câu lệnh cách viết sau đây là có hiệu lực: CODE: Select All member = Minh;if (member == VietBio) { do_some_commands }for (member=Arisa; member <= Trung; member++) { do_some_commands } Như vậy, theo mặc định, các tên của một enum được xem là các hằng số từ 0 tăng dần cho đến tên cuối cùng. Tuy nhiên, C không loại trừ khả năng xếp lại giá trị của một kiểu enum theo cách riêng: Mã: Select All enum reordert={duck,cat=10, mouse =50, elephant =1000, lion, virus}; Trong thí dụ trên thì duck có giá trị tương ứng là 0, cat là 10, …, elephant là 1000, còn lion tương ứng với giá trị 1001 và virus tương ứng với 1002. Một trong những ứng dụng chính của kiểu này là để tăng cường khả năng đọc mã được dễ hiểu hay phù hợp hơn.