error: invalid type argument of ‘unary *’ (have ‘int’)
Since c is holding the address of an integer pointer, its type should be int**: int **c; c = &a; The entire program becomes: #include <stdio.h> int main(){ int b=10; int *a; a=&b; int **c; c=&a; printf(“%d”,(**c)); //successfully prints 10 return 0; }