What is the benefit of using an enum rather than a #define constant?

Asked by Last Modified  

Follow 0
Answer

Please enter your answer

Oracle, Hindi, C++, C, MS Office, VBScript,JavaScript,Spoken English etc with 32 years of experience

#define is a symbolic constant. symbolic constants are uppercase letters. symbolic constants above the main() function. symbolic constants are not terminated with semicolon. symbolic constants must define using #define preprocessor directive.
Comments

1) Another advantage of using the enumeration constant method is that your programs are more readable and thus can be understood better by others who might have to update your program later. 2) A third advantage to using enumeration constants is that some symbolic debuggers can print the value of...
read more
1) Another advantage of using the enumeration constant method is that your programs are more readable and thus can be understood better by others who might have to update your program later. 2) A third advantage to using enumeration constants is that some symbolic debuggers can print the value of an enumeration constant. Conversely, most symbolic debuggers cannot print the value of a symbolic constant. This can be an enormous help in debugging your program, because if your program is stopped at a line that uses an enum, you can simply inspect that constant and instantly know its value. On the other hand, because most debuggers cannot print #define values, you would most likely have to search for that value by manually looking it up in a header file. read less
Comments

1) Advantage of using the enumeration constant method is that your programs are more readable and thus can be understood better by others who might have to update your program later. 2) Another advantage to using enumeration constants is that some symbolic debuggers can print the value of an enumeration...
read more
1) Advantage of using the enumeration constant method is that your programs are more readable and thus can be understood better by others who might have to update your program later. 2) Another advantage to using enumeration constants is that some symbolic debuggers can print the value of an enumeration constant. Conversely, most symbolic debuggers cannot print the value of a symbolic constant. This can be an enormous help in debugging your program, because if your program is stopped at a line that uses an enum, you can simply inspect that constant and instantly know its value. On the other hand, because most debuggers cannot print #define values, you would most likely have to search for that value by manually looking it up in a header file. read less
Comments

16 Yrs of Experience in Teaching

with #define N 5 , u can have only one option .. N =5 and in enum we can have multiple choice enum days{mon,tue,wed,thu,fri} among 5 u can select one
Comments

Computer Science

The use of an enumeration constant (enum) has many advantages over using the traditional symbolic constant style of #define. These advantages include a lower maintenance requirement, improved program readability, and better debugging capability. The first advantage is that enumerated constants are generated...
read more
The use of an enumeration constant (enum) has many advantages over using the traditional symbolic constant style of #define. These advantages include a lower maintenance requirement, improved program readability, and better debugging capability. The first advantage is that enumerated constants are generated automatically by the compiler. Conversely, symbolic constants must be manually assigned values by the programmer. read less
Comments

MCA

-enum are deifined like structure -enum type name can be used to declare variable of its type -Eg: enum course{BCA,Btech,MCA,Mtech}; in C we can declare variable of its type like enum course program_code;
Comments

VBA/Excel/Access/SQL Server

#define statements are handled by the pre-processor before the compiler gets to see the code whereas enums are part of the C language itself and have the following advantages. They may have type and the compiler can type-check them. Since they are available to the compiler, symbol information on them...
read more
#define statements are handled by the pre-processor before the compiler gets to see the code whereas enums are part of the C language itself and have the following advantages. They may have type and the compiler can type-check them. Since they are available to the compiler, symbol information on them can be passed through to the debugger, making debugging easier. read less
Comments

View 5 more Answers

Related Questions

What are the toughest topics in C language?
1. pointer 2. dynamic memory allocation 3. File handling
Lokayya
0 0
5
What is the meaning of \n and \t in C language?
In C language, ` ` represents the newline character, which is used to move the cursor to the beginning of the next line when printing text to the console. It's essentially a way to create a line break. Similarly,...
Soumya
0 0
5
What are the advantages of using C over C++?
C++ is a object oriented programming language
Rekha
0 0
5
What are pointers in C language?
a variable that stores the memory address of another variable
Sanjeevani
0 0
6

Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com

Ask a Question

Related Lessons

Is It Fine To Write “void main()” Or “main()” In C/C++?
The definition: void main() { /* ... */ } Is not and never has been C++, nor has it even been C. See the ISO C++ standard 3.6.1 or the ISO C standard 5.1.2.2.1. A conforming...

An Interesting discussion about malloc( ) and calloc( )
What are malloc( ) and calloc( )? Simply putting they are the predefined functions in C language. Malloc( ) and calloc( ) are two such functions which are used for more or less identical purpose and...

C Program-String Comparison
// WAP to compare strings entered by the user //Header files #include<stdio.h>#include<conio.h>#include<string.h> //Main function void main(){ char str1; char str2; int comp; //Function...

Features Of C Language
Features of C language It is a robust language with rich set of built-in functions and operators that can be used to write any complex program. The C compiler combines the capabilities of an assembly...

Software Development Training In Jaipur
Satyam Web Solution provides website designing &development and software designing &development training in Jaipur for various stream’s students. MCA 6 month Industrial Training/Internship B....

Recommended Articles

Brilliant Academy is one of the reputed institutes for B.Tech tuition classes. This institute is specialised in delivering quality tuition classes for B.E, Engineering - all streams and Engineering diploma courses. Incorporated in 2012, Brillant Academy is a brainchild of Mr Jagadeesh. The main motto of the academy is to...

Read full article >

Lasya Infotech is a Hyderabad based IT training institute founded in 2016 by O Venkat. Believing in his innovation, passion and persistence and with a diverse blend of experience, he started his brainchild to deliver exemplary professional courses to aspiring candidates by honing their skills. Ever since the institute envisions...

Read full article >

Information technology consultancy or Information technology consulting is a specialized field in which one can set their focus on providing advisory services to business firms on finding ways to use innovations in information technology to further their business and meet the objectives of the business. Not only does...

Read full article >

Software Development has been one of the most popular career trends since years. The reason behind this is the fact that software are being used almost everywhere today.  In all of our lives, from the morning’s alarm clock to the coffee maker, car, mobile phone, computer, ATM and in almost everything we use in our daily...

Read full article >

Looking for C Language Classes?

Learn from the Best Tutors on UrbanPro

Are you a Tutor or Training Institute?

Join UrbanPro Today to find students near you