#include<stdio.h>
int value= 0 ;
void changePtr( int ** ptr)
{
printf ( "%p ptr before assignment \n " , * ptr
) ; * ptr=& value;
printf ( "%p ptr after assignment \n " , * ptr
) ; }
int main( )
{
printf ( "%p address of int value\n " , & value
) ;
int localValue= 1 ;
int * localPtr=& localValue;
printf ( "%p before changePtr\n " , localPtr
) ;
changePtr( & localPtr) ;
printf ( "%p after changePtr\n " , localPtr
) ;
return 0 ;
}
I2luY2x1ZGU8c3RkaW8uaD4KCmludCB2YWx1ZT0wOwp2b2lkIGNoYW5nZVB0cihpbnQgKipwdHIpCnsKCQlwcmludGYoICIlcCBwdHIgYmVmb3JlIGFzc2lnbm1lbnQgXG4iLCAqcHRyKTsKICAgICAgICAqcHRyPSZ2YWx1ZTsKICAgICAgICBwcmludGYoICIlcCBwdHIgYWZ0ZXIgYXNzaWdubWVudCBcbiIsICpwdHIpOwp9CgppbnQgbWFpbigpCnsKCQoJCXByaW50ZiggIiVwIGFkZHJlc3Mgb2YgaW50IHZhbHVlXG4iLCAmdmFsdWUpOwoJCQogICAgICAgIGludCBsb2NhbFZhbHVlPTE7CiAgICAgICAgaW50ICpsb2NhbFB0cj0mbG9jYWxWYWx1ZTsKICAgICAgICAKICAgICAgICBwcmludGYoICIlcCBiZWZvcmUgY2hhbmdlUHRyXG4iLCBsb2NhbFB0cik7CiAgICAgICAgCiAgICAgICAgY2hhbmdlUHRyKCZsb2NhbFB0cik7CiAgICAgICAgCiAgICAgICAgcHJpbnRmKCAiJXAgYWZ0ZXIgY2hhbmdlUHRyXG4iLCBsb2NhbFB0cik7CiAgICAgICAgCiAgICAgICAgcHJpbnRmKCIlZFxuIiwqbG9jYWxQdHIpOwogICAgICAgIHJldHVybiAwOwp9CgoK