Enumerations in C - What Are They
Introduction
Enumerations, commonly referred to as "enums," are a fundamental concept in C programming. They provide a way to create custom data types that consist of a finite set of named values. Enumerations are especially useful when you need to represent a collection of related constants or options. In this guide, we'll explore what enums are in C and provide sample code to illustrate their usage.
What is an Enumeration?
An enumeration in C is a user-defined data type that consists of a set of named integer values. These named values are referred to as "enumerators" and provide a convenient way to represent a finite set of related constants or options. Enums make the code more readable and maintainable by assigning meaningful names to values.
Declaring Enumerations
Here's how you declare an enumeration in C:
#include <stdio.h>
// Declare an enumeration named 'Days'
enum Days {
Sunday,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday
};
int main() {
// Declare a variable of type 'Days'
enum Days today;
// Assign a value from the enumeration
today = Wednesday;
// Print the day
printf("Today is: %d\\n", today);
return 0;
}
In this example, we declare an enumeration named Days
with seven enumerators representing the days of the week. We then declare a variable today
of type Days
and assign it the value Wednesday
. When we print the value of today
, it will display 2
since enumerators start from 0
.
Assigning Values to Enumerators
You can explicitly assign values to enum enumerators:
#include <stdio.h>
// Declare an enumeration with assigned values
enum Months {
January = 1,
February = 2,
March = 3,
April = 4,
May = 5,
June = 6
};
int main() {
// Declare a variable of type 'Months'
enum Months currentMonth;
// Assign a value from the enumeration
currentMonth = March;
// Print the month
printf("Current month: %d\\n", currentMonth);
return 0;
}
In this example, we declare an enumeration Months
with assigned values starting from 1
. We then declare a variable currentMonth
and assign it the value March
. When we print the value of currentMonth
, it will display 3
.
Conclusion
Enumerations in C provide a structured way to define sets of related constants, making code more readable and self-explanatory. This guide has introduced you to the basics of enumerations, including declaration, assigning values to enumerators, and their usage in C. As you continue your journey in C programming, you'll discover the utility of enums for representing various options, states, and more.