** d is a pointer to a pointer to int, so ** d will have the address of the pointer * w when u says d = & w, but if u did not say that d = & w and just declared int * w int ** d, it would not matter except: int * w is a pointer to int and int ** d is a pointer to a pointer to int, but would in no way claim that d would save addres from w.
Anand source share