enum cho phép lập trình viên tự định nghĩa kiểu dữ liệu và các giá trị hợp lệ.
Cú pháp
enum ten_kieu { gia_tri1, gia_tri2, ... };
Ví dụ cơ bản
enum week { mon, tue, wed, thu, fri, sat, sun };
- Giá trị mặc định bắt đầu từ 0: mon=0, tue=1, ..., sun=6.
- Kiểu dữ liệu của identifier là unsigned int.
Chương trình 1: Giá trị mặc định
#include <stdio.h>
int main() {
enum week { mon, tue, wed, thu, fri, sat, sun };
printf("Monday = %d\n", mon); // 0
printf("Thursday = %d\n", thu); // 3
printf("Sunday = %d\n", sun); // 6
return 0;
}
Chương trình 2: Gán giá trị khởi tạo
#include <stdio.h>
int main() {
enum week { mon=1, tue, wed, thu, fri, sat, sun };
printf("Monday = %d\n", mon); // 1
printf("Thursday = %d\n", thu); // 4
printf("Sunday = %d\n", sun); // 7
return 0;
}
Khi gán mon=1, các giá trị sau tự động tăng dần.