How can a value of a constant be varied through a pointer ?

RADHA GOGIA via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Sep 19 17:09:51 PDT 2015


I went through these two links and found that this behaviour is 
undefined , but the only issue which I have is that in one sense 
we say that since local variables live on stack , hence they 
cannot be located on read only memory region but if this is so 
then if I try to alter the value of the constant directly through 
assignment then why does it show error if it is not located in 
the read only memory region :

#include<stdio.h>
int main()
{
const int a=12;
int *ptr ;
ptr=&a;
*ptr=8; // no error
a=45; // error
printf("\n %d", a);
return 0;
}


1. 
http://stackoverflow.com/questions/945640/why-can-i-change-a-local-const-variable-through-pointer-casts-but-not-a-global-o


2. 
http://stackoverflow.com/questions/3801557/can-we-change-the-value-of-a-constant-through-pointers


More information about the Digitalmars-d-learn mailing list