void *ptrin csince you cannot have variable of type voidthe void pointer will therefore not point to any data andthuscannot be dereferenced you need to cast void pointer to another kind of pointer before using it generic pointers are often used when you want pointer to point to data of different types at different times for exampletake look at the following code #include int main(int = char ch ' 'void *gpgp &xprintf("\ generic pointer points to the integer value % "*(int*)gp)gp &chprintf("\ generic pointer now points to the character% "*(char*)gp)return output generic pointer points to the integer value generic pointer now points to the character it is always recommended to avoid using void pointers unless absolutely necessaryas they effectively allow you to avoid type checking programming example write program to add two integers using pointers and functions #include void sum (int*int*int*)int main(int num num totalprintf("\ enter the first number ")scanf("% "&num )printf("\ enter the second number ")scanf("% "&num )sum(&num &num &total)printf("\ total % "total)return void sum (int *aint *bint * * * *boutput enter the first number enter the second number total pointer to pointers in cyou can also use pointers that point to pointers the pointers in turn point to data or even to other pointers to declare pointers to pointersjust add an asterisk for each level of reference