How to pass a pointer to pointer to a function in C

1 Answer

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

void changeValue_pp(int** pp) {
    **pp = 235;
}

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
235 235
        
*/

 



answered Jun 20, 2024 by avibootz

Related questions

1 answer 108 views
1 answer 138 views
2 answers 159 views
1 answer 141 views
1 answer 140 views
1 answer 112 views
4 answers 246 views
...