What is the difference between #define and constant in C?

Asked by Last Modified  

Follow 0
Answer

Please enter your answer

#define used to define a variable that is pre-processed(before compilation) where as constant is a keyword used to declare constant variable which cannot be varied
Comments

C/C++ & UNIX Shell Scripting Programmer & Tutor

#define is a preprocessor directive and is resolved/replaced before the compilation step. So that means if you have like #define PI 3.42 --- during pre-processing (before compilation) imagine as if the compiler actually does a FIND and REPLACE inside your code and finds PI and replaces it with 3.42....
read more
#define is a preprocessor directive and is resolved/replaced before the compilation step. So that means if you have like #define PI 3.42 --- during pre-processing (before compilation) imagine as if the compiler actually does a FIND and REPLACE inside your code and finds PI and replaces it with 3.42. So there is no way that you can change a value in the program. The constants on the other hand also remain constant throughout the program but hold the memory as well as are resolved at the run time. Let me know if that resolves your query or I can make you understand it the memory way. read less
Comments

Tuitions for Maths,Science

#define A B tells the preproccessor (a part of the compiler) to substitute B wherever it sees A in the code, and it does it before compiling the code. A const variable means that once the variable is set it can't be changed.
Comments

View 1 more Answers

Related Questions

How to improve my c knowledge........
practice it as much as possible. for beginning, use let us c by yashwant kanetkar
Anish
Should variables be stored in local blocks?
Variables in local blocks are auto variables, meaning created and removed from memory, automatically.
Sayed
What are the types of linkages in C Programming?
Type of linkage Type of object Accessibility external external throughout the program internal external a single file none internal local to a single function
Akash
0 0
9
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
Why C language is still available in market, while so many & much easier languages are available ?
Now, I agree that you can use OOP in C to some extent, but it's sort of painful and inelegant (well at least compared to C++ I guess). So, what makes C so popular? Is it efficiency; being low-level; the...
Pankaj

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

Ask a Question

Related Lessons

C Programming basics
C PROGRAMMING BASICS 10 Hours Introduction to ‘ C’ programming –fundamentals – structure of a ‘C’...
O

Om K.

0 0
0

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...

Everything about printf in C language
What is printf and from where it comes from in C code.? You must have used printf so many times in your Car programs but do you really know everything about printf? Let's see. What is the full form...

C Program to print Block Letter and Small Case Alphabets using C
/* WAP to print Block Letter and Small Case Alpahbets using C*/ //Hint:use ascii code(value) to print #include#include void main(){ int i; clrscr(); //Block Letters Alphabets printf("Block Letters Alphabets\n");...

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...

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 >

Applications engineering is a hot trend in the current IT market.  An applications engineer is responsible for designing and application of technology products relating to various aspects of computing. To accomplish this, he/she has to work collaboratively with the company’s manufacturing, marketing, sales, and customer...

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