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 is the importance of pointers? People stress more on them. Why they are useful actually what is their importance?
Importance of pointers:- Pointers are used in situations when passing actual values is difficult or not desired. To return more than one value from a function. They increase the execution speed. The...
Pati
Can a functions return more than one value at a time?
Actually functions does n't return more than one value. But you can achieve it by returning data structure (i.e.structure,array)
Lamaan
0 0
7
How do I add two large integer numbers in C?
We have long int datatype in c programming so use it
Krishan
0 0
6
What is the most efficient way to store flag values?
A flag is a value used to make a decision between two or more options in the execution of a program. Efficiency in this case is a tradeoff between size and speed. The most memory-space efficient way to...
Deepak
0 0
6
how to calculate address of n dimensional matrix
An n dimensional matrix can be of any dimension. Adding a dimension is adding one more index number (to access the element). In 1-D array you the elements are linearly arranged and can be addressed as...
Rupendra

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

Ask a Question

Related Lessons

Swapping variable contents using C
/* WAP to swap the content of variables using C*/ //Header files #include<stdio.h>#include<conio.h> //Main function void main(){ //Variable declaration of type integer int a,b,c; //function...

Program to swap the value of two variables without using third variable(simplest way)...
int main() { int a=10,b=20; printf("values of a before swap ="%d,a); printf("values of b before swap ="%d,b); a=a+b; b=a-b; a=a-b; printf("******************"); printf("values of a after swap...

Efficient Learning Strategies
Type your notes after class Write your notes onto flashcards - Scrabble -Make posters Review flashcards while walking, at gym, etc. Dog-ear pages in the reading where you can find...

Bit wise operators in C
Bit Wise Operators Bit Wise operators are manipulates of individual bits with in a word of memory. The bit wise operators can be divided in to three general category. One’s Complement...

Difference Between C Language and C Program
C Language: C Language is structured, high level and machine independent language. C Program: C Program is the collection of functions that are supported by C library.
S

Shashwat Kumar

0 0
0

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