How to pass the address of a pointer to a pointer to a function in C

1 Answer

0 votes
#include <stdio.h>
  
void changeValue_p(int** p) {
    **p = 700;
}

void changeValue_pp(int*** ppp) {
    ***ppp = 398;
}

int main()
{
    int n = 12;
    
    int* p = &n;
    printf("%d %d\n", *p, n);
    changeValue_p(&p);
    printf("%d %d\n", *p, n);
    
    int** pp = &p;
    printf("%d %d\n", **pp, n);
    changeValue_pp(&pp);
    printf("%d %d\n", **pp, n);
    
    return 0;
}

       
       
/*
run:
     
12 12
700 700
700 700
398 398
        
*/

 



answered Jun 20, 2024 by avibootz

Related questions

1 answer 144 views
1 answer 109 views
1 answer 161 views
1 answer 145 views
1 answer 159 views
1 answer 139 views
...