Concept Flow - Enum declaration
Start
Declare enum with name
List enum members
Assign values (optional)
Use enum variables
End
This flow shows how an enum is declared with members, optionally assigned values, and then used.
enum Color { RED, GREEN, BLUE }; enum Color c = GREEN;
| Step | Action | Enum Member | Value Assigned | Variable | Variable Value |
|---|---|---|---|---|---|
| 1 | Declare enum Color | RED | 0 (default) | ||
| 2 | Assign next member | GREEN | 1 (default increment) | ||
| 3 | Assign next member | BLUE | 2 (default increment) | ||
| 4 | Declare variable c of type Color | c | |||
| 5 | Assign GREEN to c | c | 1 | ||
| 6 | End |
| Variable | Start | After Assignment | Final |
|---|---|---|---|
| c | uninitialized | 1 | 1 |
Enum declaration in C:
enum Name { MEMBER1, MEMBER2, ... };
Members get default values starting at 0, increment by 1.
You can assign values explicitly.
Use enum variables to hold these values.
Example: enum Color { RED, GREEN, BLUE };enum in C programming?Color with values RED, GREEN, and BLUE?enum Color { RED, GREEN, BLUE };. Others use invalid symbols like '=', '(', or ':'.enum Day { SUN, MON, TUE = 5, WED, THU };
#include
int main() {
printf("%d %d %d %d %d", SUN, MON, TUE, WED, THU);
return 0;
}enum Status {
OK = 1,
ERROR,
WARNING = "2"
};enum Flags { FLAG_A = 1 << 0, FLAG_B = 1 << 1, FLAG_C = 1 << 2 };
int flags = FLAG_A | FLAG_C;
Which expression correctly checks if FLAG_B is set in flags?Pass the test and this pattern moves unknown