The term "void pointer" and "pointer to void" both are same but often used interchangeably. The void type in C is used as a generic pointer type, meaning it can be used to point to objects of any data type.
A void pointer and pointer to a pointer void where you can find difference. A void * can hold any pointer. Since there are no actual void objects, a void * is always a pointer to some other type. A void ** is a pointer to a pointer to void, or the address of a void * , i.e., the address of a pointer to void. This is an actual type and doesn't have any other properties.