c - Is there any other way to swap address of pointers to interchange value? -


is there other way swap address of pointers interchange value ?

below 1 way same. here not changing values saved on address.

void change_address( int *&p, int *&pt) {  int *pp;  pp = p;  p = pt;  pt= pp; } int main(void) {    int =3, b = 4, *p, *p1;    p = &a; p1 = &b;        printf("values before interchange %d %d\n", *p, *p1);    change_address(p, p1);    printf("values after interchange %d %d", *p, *p1);       getch();        return 0; } 

your code uses references c++, in c have use pointer pointer :

void change_address( int **p, int **pt) {  int *pp;  pp = *p;  *p = *pt;  *pt= pp; }  int main(void) {    int =3, b = 4, *p, *p1;    p = &a; p1 = &b;        printf("values before interchange %d %d\n", *p, *p1);    change_address(&p, &p1);    printf("values after interchange %d %d", *p, *p1);        getch();         return 0; } 

Comments