Please find the code snippet as shown below:
#include <stdio.h> 
int My_func(int **); 
int main() 
{ 
     int a =5;
     int *p = &a;
     My_Func(&p);
     printf("The val of *p is %d\n,*p);
}
void My_Func(int **p)
{
     int val = 100;
     int *Ptr = &val;
     *p = Ptr;
}
How does by using a double pointer as a argument in my_Func function and making change of value reflects the same in the main function but if we use a single pointer in My_Func does not change the value in main?Please do explain me with examples if possible
Advanced thanks
Maddy
 
     
     
     
     
     
    