Home Python C Language C ++ HTML 5 CSS Javascript Java Kotlin SQL DJango Bootstrap React.js R C# PHP ASP.Net Numpy Dart Pandas Digital Marketing

Enumerated Types


In C programming, an enumerated type, or enum, is a user-defined data type that consists of integral constants. By using enums, you can define a set of named integer constants to represent specific values, improving code readability and maintenance. Enums are especially useful for variables that have a fixed set of possible values, such as days of the week, months, and directions.

Defining an Enum

To define an enum, use the enum keyword followed by a name and a list of named constants within braces. Each constant in an enum has an underlying integer value, starting from 0 by default. You can also assign custom values to each constant.

Syntax:

    enum EnumName {
        constant1,
        constant2,
        // Additional constants
    };
        

Here, EnumName is the name of the enum type, and constant1, constant2, etc., are the named constants.

Example of Enum Definition

Below is an example of defining an enum type to represent the days of the week.

    #include <stdio.h>

    enum Day {
        SUNDAY,
        MONDAY,
        TUESDAY,
        WEDNESDAY,
        THURSDAY,
        FRIDAY,
        SATURDAY
    };

    int main() {
        enum Day today = MONDAY;
        printf("The value of today is: %d\n", today);
        return 0;
    }
        

In this example, we define an enum named Day with constants for each day of the week. By default, SUNDAY has the value 0, MONDAY has 1, and so on. We then declare a variable today of type enum Day and assign it the value MONDAY.

Custom Values in Enums

You can assign custom integer values to enum constants. When assigning a value to a constant, subsequent constants will increment from that value unless specified otherwise.

Example of Enum with Custom Values:

    #include <stdio.h>

    enum Level {
        LOW = 1,
        MEDIUM = 5,
        HIGH = 10
    };

    int main() {
        enum Level level = MEDIUM;
        printf("The value of level is: %d\n", level);
        return 0;
    }
        

In this example, we define an enum named Level with custom values: LOW is set to 1, MEDIUM to 5, and HIGH to 10. We then declare a variable level of type enum Level and assign it the value MEDIUM.

Using Enums in Conditional Statements

Enums can be used in conditional statements to perform actions based on specific values. This makes code easier to understand, as enum names represent meaningful values rather than arbitrary numbers.

Example of Enum in a Switch Statement:

    #include <stdio.h>

    enum TrafficLight {
        RED,
        YELLOW,
        GREEN
    };

    int main() {
        enum TrafficLight signal = RED;

        switch (signal) {
            case RED:
                printf("Stop\n");
                break;
            case YELLOW:
                printf("Caution\n");
                break;
            case GREEN:
                printf("Go\n");
                break;
            default:
                printf("Invalid signal\n");
                break;
        }

        return 0;
    }
        

In this example, we define an enum named TrafficLight with constants RED, YELLOW, and GREEN. A switch statement is used to print actions based on the current signal. The output will be Stop since signal is set to RED.

Enum as Function Parameters

Enums can also be passed as function parameters, which makes functions more readable and easier to use when dealing with predefined values.

Example of Enum as a Function Parameter:

    #include <stdio.h>

    enum Direction {
        NORTH,
        SOUTH,
        EAST,
        WEST
    };

    void navigate(enum Direction dir) {
        switch (dir) {
            case NORTH:
                printf("Heading North\n");
                break;
            case SOUTH:
                printf("Heading South\n");
                break;
            case EAST:
                printf("Heading East\n");
                break;
            case WEST:
                printf("Heading West\n");
                break;
        }
    }

    int main() {
        navigate(EAST);
        return 0;
    }
        

In this example, we define an enum named Direction and a function navigate that takes a parameter of type enum Direction. By passing EAST to the function, the output will be Heading East.

Key Points to Remember

Conclusion

Enumerated types in C provide a way to define named integer constants, making code more readable and maintainable. By using enums, you can replace arbitrary numbers with meaningful names, improving the clarity of your code. Enums are especially valuable when working with fixed sets of values, such as days of the week, traffic signals, or levels of importance. Understanding how to define and use enums can greatly enhance the quality and readability of your C programs.








Q3 Schools : India


Online Complier

HTML 5

Python

java

C++

C

JavaScript

Website Development

HTML

CSS

JavaScript

Python

SQL

Campus Learning

C

C#

java