const modifier in c

Explanation of const modifier in c programming language by examples, questions and answers:

In c all variables are by default not constant. Hence, you can modify the value of variable by program. You can convert any variable as a constant variable by using modifier const which is keyword of c language.
Properties of constant variable:

1. You can assign the value to the constant variables only at the time of declaration. For example:

const int i=10;
float const f=0.0f;
unsigned const long double ld=3.14L;

2. Uninitialized constant variable is not cause of any compilation error. But you cannot assign any value after the declaration. For example:

const int i;

If you have declared the uninitialized variable globally then default initial value will be zero in case of integral data type and null in case of non-integral data type. If you have declared the uninitialized const variable locally then default initial value will be garbage.

3. Constant variables executes faster than not constant variables.

4. You can modify constant variable with the help of pointers. For example:

int main(){
    int i=10;
    int *ptr=&i;
    *ptr=(int *)20;
    return 0;

Output: 20 

Function modifier in c
Interrupt modifier in c
Memory representation of double in c


robo said...

in the last example i is not a constant its a variable because there is no prefix const before i

Rex Chandu said...

inter view Question
const int a;
int const a;
const int *a;
int * const a;
int const * a const;

The first two mean the same thing, namely a is a const (read-only) integer. The third means a is
a pointer to a const integer (that is, the integer isn't modifiable, but the pointer is). The fourth
declares a to be a const pointer to an integer (that is, the integer pointed to by a is modifiable,
but the pointer is not). The final declaration declares a to be a const pointer to a const integer
(that is, neither the integer pointed to by a, nor the pointer itself may be modified). If the
candidate correctly answers these questions, I'll be impressed. Incidentally, you might wonder
why I put so much emphasis on const, since it is easy to write a correctly functioning program
without ever using it. I have several reasons:
The use of const conveys some very useful information to someone reading your code. In
effect, declaring a parameter const tells the user about its intended usage. If you spend a
lot of time cleaning up the mess left by other people, you'll quickly learn to appreciate
this extra piece of information. (Of course, programmers who use const , rarely leave a
mess for others to clean up.)
const has the potential for generating tighter code by giving the optimizer some
additional information.
Code that uses const liberally is inherently protected by the compiler against inadvertent
coding constructs that result in parameters being changed that should not be. In short,

Ashly Kurian said...

I executed this prog in showed error saying ; cannot convert 'int *' to 'int' in Turbo c++ version 3

Ashly Kurian said...

IT should be *ptr=(int)20; the only output becomes 20

kamalkant patel said...

even no need to use typecasting in turbo c++ version 3.0
and *ptr=20; then also we get ans. 20.

chetan patel said...

is pointers modifier in C is removed???
what about following link??
Function modifier in c(BLUE)
Interrupt modifier in c (BLUE)
Memory representation of double in c (BLUE)

velraj said...

Hi to all. The blog is really good and the above information is helpful to me. Thank you so much.
javascript training in chennai
core java training in chennai
C C++ Training in Chennai
c c++ courses in chennai
best c c++ training in chennai
C Language Training in Chennai
Appium Training in Chennai
JMeter Training in Chennai

Anbarasan14 said...

I would definitely say that this blog is really useful for me and helped me to gain a clear basic knowledge on the topic. Waiting for more updates from this blog admin.

IELTS Classes in Mumbai
IELTS Coaching in Mumbai
IELTS Mumbai
IELTS Center in Mumbai
Best IELTS Coaching in Mumbai
Spoken English Classes in Chennai
IELTS Coaching in Chennai
English Speaking Classes in Mumbai

sandhiya said...

Awesome blog with great piece of information. Very well written blog with crisp and neat content. Keep sharing more such blogs.
Cloud Computing Training in Chennai
Cloud Training in Chennai
Data Science Course in Chennai
Azure courses in Chennai
VMware course
R Programming Training in Chennai
Cloud Certification in Chennai

Jagna Co Kalani said...

Great Article. Thank you for sharing! Really an awesome post for every one.
Project Centers in Chennai

JavaScript Training in Chennai

Final Year Project Domains for IT

JavaScript Training in Chennai