#include <stdio.h>
void pointer_inc( int * p1, int * p2)
{
printf ( "The address of p1 is %p\n " , & p1
) ; printf ( "The value of p1 is %p\n " , p1
) ; printf ( "The address of p2 is %p\n " , & p2
) ; printf ( "The value of p2 is %p\n " , p2
) ; * p1 += 1 ;
p1 = p2;
* p1 += 2 ;
}
int main( void )
{
int i, j;
int * iptr = & i;
printf ( "The address of i is %p\n " , & i
) ; printf ( "The address of j is %p\n " , & j
) ; printf ( "The address of iptr is %p\n " , & iptr
) ; printf ( "i = %d, j = %d\n " , i
, j
) ; pointer_inc( iptr, & j) ;
printf ( "i = %d, j = %d\n " , i
, j
) ; * iptr += 5 ;
printf ( "i = %d, j = %d\n " , i
, j
) ; return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CnZvaWQgcG9pbnRlcl9pbmMoaW50ICpwMSwgaW50ICpwMikKewogIHByaW50ZigiVGhlIGFkZHJlc3Mgb2YgcDEgaXMgJXBcbiIsICZwMSk7CiAgcHJpbnRmKCJUaGUgdmFsdWUgb2YgcDEgaXMgJXBcbiIsIHAxKTsKICBwcmludGYoIlRoZSBhZGRyZXNzIG9mIHAyIGlzICVwXG4iLCAmcDIpOwogIHByaW50ZigiVGhlIHZhbHVlIG9mIHAyIGlzICVwXG4iLCBwMik7CiAgKnAxICs9IDE7CiAgcDEgPSBwMjsKICAqcDEgKz0gMjsKfQppbnQgbWFpbih2b2lkKQp7CiAgaW50IGksIGo7CiAgaW50ICppcHRyID0gJmk7CgogIHNjYW5mKCIlZCIsICZpKTsKICBzY2FuZigiJWQiLCAmaik7CiAgcHJpbnRmKCJUaGUgYWRkcmVzcyBvZiBpIGlzICVwXG4iLCAmaSk7CiAgcHJpbnRmKCJUaGUgYWRkcmVzcyBvZiBqIGlzICVwXG4iLCAmaik7CiAgcHJpbnRmKCJUaGUgYWRkcmVzcyBvZiBpcHRyIGlzICVwXG4iLCAmaXB0cik7CiAgcHJpbnRmKCJpID0gJWQsIGogPSAlZFxuIiwgaSwgaik7CiAgcG9pbnRlcl9pbmMoaXB0ciwgJmopOwogIHByaW50ZigiaSA9ICVkLCBqID0gJWRcbiIsIGksIGopOwogICppcHRyICs9IDU7CiAgcHJpbnRmKCJpID0gJWQsIGogPSAlZFxuIiwgaSwgaik7CiAgcmV0dXJuIDA7Cn0K