Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

How to access or modify the const variable in c ?

Answer Posted / gaurav bhandarkar

Author : Gaurav M. Bhandarkar
Yes u can modify constants...

Theory:
const int z = 420; // z is constant
&z (address of constant)
z (value of constant)

imp:
*(int*)((char*)&(*((char*)&z+1))-1) is
a unity/identity pointer operation resulting in z
That is:-
printf("%d | %d",*(int*)((char*)&(*((char*)&z+1))-1),z);
OUTPUT: 420 | 420

code:

const int z = 420;

printf("%d | %d\n",*(int*)((char*)&(*((char*)&z+1))-1),z);
//o-p 420 | 420


*((char *)&z+1) = 21; //corrupting the constant


printf("%d | %d",*(int*)((char*)&(*((char*)&z+1))-1),z);
//o-p 5540 | 420

___
The 2 similar printf's(check they are same)
o/p different values for same "z"
which is a constant!
thus the constant was corrupted!

Is This Answer Correct ?    53 Yes 3 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

the maximum length of a character constant can be a) 1 character b) 8 characters c) 256 chaacters d) 125 characters

2345


Which one to choose from 'initialization lists' or 'assignment', for the use in the constructor?

1134


if the area was hit by a virus and so the decrease in the population because of death was x/3 and the migration from other places increased a population by 2x then annually it had so many ppl. find our the population in the starting.

5324


Explain null pointer.

1193


How can I delete a file?

1123


How can you draw circles in C?

1196


Write a C program in Fibonacci series.

1135


Explain how do you list a file’s date and time?

1089


What is masking?

1213


What is extern keyword in c?

1185


1. Write a function to display the sum of two numbers in the following ways: By using (i) pass by value (ii) pass by address a. function with argument and with return value b. function with argument and without return value c. without argument , with return value d. without argument , without return value Note: Use pass by address.

2857


Can you write the function prototype, definition and mention the other requirements.

1197


Explain that why C is procedural?

1192


how to build a exercise findig min number of e heap with list imlemented?

2127


What is the advantage of a random access file?

1253