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

Basics of 'C'language
C is middle level language, using C you can write program which directly interact with the hardware like device driver programming or you can write GUI application. C is very powerful language compare...
Raghavendra
I’ve been learning C language for 3 weeks but it’s becoming more difficult. As a result, I’m becoming lazy. What should I do to motivate myself?
Learn algorithm or flowchart first. Once you start C, try to relate with real time example. Example: When learn printf() , think about a a bill where you customer information is printed. Similarly when...
Akhilesh
0 0
5
Is c language easy to learn?
The ease of learning C language depends on an individual's prior programming experience and their familiarity with concepts like memory management. For beginners with no programming background, C might...
Vikash
0 0
6
What is = and == in C language?
'=' (Assignment Operator): The single equal sign = is used as an assignment operator. It is used to assign a value to a variable. '==' (Equality Operator): The double equal sign == is used as a relational...
Sayed
0 0
9
How many programs are in the C language?
It's challenging to provide an exact count of how many programs are written in the C language globally, as it's an immensely popular and widely-used programming language. C has been in existence since...
Muskan
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

Understanding Computer Science Concepts with Images and Videos..
All Computer science concepts relating to programming and software development are only virtual. It cannot be practically shown as a hardware parts of a computer. But for better understanding it should...

Some interview questions and answers for fresher level on Pointers
What is a void pointer? Void pointer is a special type of pointer which can reference or point to any data type. This is why it is also called as Generic Pointer. As a void pointer can point to...

Lets know about far, near and huge pointers for fresher interview purpose
All of these three candidates relate to 16 bit architecture where segmented memory architecture was there. They are not at all relevant for present days 32 or 64 bit architecture where the way of memory...

C and C++ programming with memory level debugging
Understanding C and C++ programming by using memory level debugging. Step 1: Understand the Memory map of C executable Step 2: Start memory level debugging using popular IDE Step 3: Find the memory...

C Program-String Palindrome
//Header files #include<stdio.h>#include<conio.h>#include<string.h> //Main function void main(){ char mystring; int i,length; int flag=0; //Function for clearing screen clrscr();...

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