Why can we change the value of a constant variable through the pointer which points to it in the C language?

Asked by Last Modified  

Follow 4
Answer

Please enter your answer

Assistant Professor

A variable, const or not, is just a location in memory, and you can break the rules of constness and simply overwrite it. (Of course, this will cause a severe bug if some other part of the program is depending on its const data being constant!) . But the conclusion is this is an "Undefined behavior"(Depends...
read more
A variable, const or not, is just a location in memory, and you can break the rules of constness and simply overwrite it. (Of course, this will cause a severe bug if some other part of the program is depending on its const data being constant!) . But the conclusion is this is an "Undefined behavior"(Depends on compiler ...but most of time yes) read less
Comments

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

You should not be able to do that without lots of complaints from the compiler…but if you ignore them and go ahead and do it anyway, the results are completely undefined. They will vary from compiler to compiler - they’ll be different for some constants rather than others - and the consequences will...
read more
You should not be able to do that without lots of complaints from the compiler…but if you ignore them and go ahead and do it anyway, the results are completely undefined. They will vary from compiler to compiler - they’ll be different for some constants rather than others - and the consequences will be different at different optimisation levels. You may even find that when you do this - the value of the constant ends up being different in different places within your program. So - please don’t assume you can do this - don’t even try…you’re asking for trouble. The reason why it might work is that the constant is probably stored in a specific location in memory, just like a non-constant would be stored. read less
Comments

Trainer

As the variable is constant the value cannot be changed directly and C has a provision of changing the value through pointer. But this concept is not proper way
Comments

View 1 more Answers

Related Questions

Which is older - Java or C?
C is older than JAVA
Baby
Why is the C program giving the wrong output?
Hai, maybe the syntax in the program was wrong, once check it and try again.
Chandra
0 0
5
What does the modulus operator do?
It provides you the remainder of an integer value.
Sumit
How can a program be made to print the line number where an error occurs?
The ANSI C standard includes a predefined macro named __LINE__ that can be used to insert the current source code line number in your program. This can be a very valuable macro when it comes to debugging your program and checking for logic errors.
Rituparna
0 0
7
What are the functions in C programming?
In C programming, functions are essential building blocks that allow for modular and structured code. A function is a self-contained block of code designed to perform a specific task. It typically takes...
Kiran
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

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

Functions In C Programming
A C-language program is nothing but collection of Function, these are the building blocks of a ‘C’ program. Generally, a function mans a task. “Function is a...

What Are IT Industries Performance Metrics?
1. Outstanding Expectation: Eligible to get Promotion easily and good salary hike. Always preferrable to go abroad. 2. Exceed Expectation: Can get Promotion as per schedule of company with good salary...

Structures in C
A structure is a collection of one or more data members possibly of different data types, grouped together under a single name for convenient handling. Defining a Structure: In general terms,...

Memory Layout of C Programs
A typical memory representation of C program consists of following sections. Text Segment: A text segment, also known as a code segment or simply as text, is one of the sections of a program in an object...

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 >

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 >

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 >

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