#include int f1(int w); int f2(int *x); void f3(int **y, int *z); int main(void) { int i = 95, j = -16; int *ptr_2_i, **ptr_2_ptr_2_i; ptr_2_i = &i; ptr_2_ptr_2_i = &ptr_2_i; /** Assume the following addresses have been assigned A1 i A2 j A3 ptr_2_i A4 ptr_2_ptr_2_i; **/ /**What are the values of the following at this point i j ptr_2_i ptr_2_ptr_2_i *ptr_2_i *ptr_2_ptr_2_i **ptr_2ptr_2_i **/ printf("\n%d, %d ", f1(i), f2(ptr_2_i)); f3(ptr_2_ptr_2_i, &j); printf("\n%d, %d\n", **ptr_2_ptr_2_i, *ptr_2_i); printf("%d\n", f2(ptr_2_i)); /**What are the values of the following at this point i j ptr_2_i ptr_2_ptr_2_i *ptr_2_i *ptr_2_ptr_2_i **ptr_2ptr_2_i **/ return 0; } int f1(int w) { return w; } int f2(int *x) { return (*x); /** Assume C1 is given to x as an address **/ /** What is the value of each of the following at this point &x x *x **/ } void f3(int **y, int *z) { /** Assume C4 is given to y and C5 is given to z as addresses **/ /** What is the value of each of the following at this point &y &z y z *y *z **y **/ *y = z; /** What is the value of each of the following at this point &y &z y z *y *z **y **/ }