Enumerations (enum)
Discover how enumerations improve code readability and efficiency.
Enumerations (enum) is a free C Academy lesson on CoddyKit — lesson 3 of 3. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the C Academy learning path, one of 3 lessons in the course, and your progress syncs across the web and the CoddyKit app.
1
Enumerations in C
An enumeration (enum) is a user-defined data type that assigns names to a set of integer values.
In this lesson, you will learn:
- How to define and use enumerations.
- How
enumimproves code readability. - How to assign custom values to enumeration constants.

2
What is an Enumeration?
Enumerations assign names to a set of integer constants.
Example declaration:
enum Color {RED, GREEN, BLUE};
By default, RED is 0, GREEN is 1, and BLUE is 2.
3
Using an Enumeration
Once defined, enum can be used as a variable type:
enum Color myColor;
myColor = GREEN;
Now, myColor holds the value 1.
4
Example: Using Enumeration
This program demonstrates how to define and use an enumeration.
#include <stdio.h>
enum Color {RED, GREEN, BLUE};
int main() {
enum Color myColor = GREEN;
printf("Selected color: %d\n", myColor);
return 0;
}5
Assigning Custom Values
You can assign specific values to enum constants:
enum Status {SUCCESS = 1, FAILURE = 0};
Now, SUCCESS is 1 and FAILURE is 0.
6
Example: Custom Values in Enum
This program demonstrates assigning custom values in an enum.
#include <stdio.h>
enum Status {SUCCESS = 1, FAILURE = 0};
int main() {
enum Status result = SUCCESS;
printf("Operation result: %d\n", result);
return 0;
}7
Enum with Incremental Values
By default, enum values increase by 1 unless explicitly assigned:
enum Days {SUN = 1, MON, TUE, WED};
Here, MON is 2, TUE is 3, and so on.
8
9
Advantages of Using Enumerations
Enumerations improve code readability and maintainability:
- They replace hard-coded numbers with meaningful names.
- They prevent accidental assignment of invalid values.
- They make debugging easier.
10
Summary
In this lesson, you learned:
- How to define and use enumerations.
- How to assign custom values to
enumconstants. - How
enumimproves code readability and efficiency.
Next, we will explore file handling in C!

Frequently asked questions
Is the “Enumerations (enum)” lesson free?
Yes — the full text of “Enumerations (enum)” is free to read here on the web, and the C Academy course includes 3 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the C Academy course, upgrade to CoddyKit PRO.
What will I learn in “Enumerations (enum)”?
Discover how enumerations improve code readability and efficiency. You practise C Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start C Academy?
No prior experience is required. C Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 3 of 3, so you can start here or from the beginning and move at your own pace.
How long does the “Enumerations (enum)” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this C Academy lesson?
Yes. Every C Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Defining and Using Structures
- Unions and Memory Efficiency
- Enumerations (enum)