/*------------------------------------------------------------------*/ /* voidpointers.c (Demonstrate void pointers) */ /*------------------------------------------------------------------*/ #include int main(int argc, char *argv[]) { int i = 5; double d = 5.5; int *pi; double* pd; void *pv; pi = &i; /* OK */ printf("%d\n", *pi); /* OK */ pd = &d; /* OK */ printf("%f\n", *pd); /* OK */ pi = &d; /* Error: Assignment from incompatible pointer type */ pd = &i; /* Error: Assignment from incompatible pointer type */ pv = &i; /* OK */ printf("%d\n", *pv); /* Error: Invalid use of void expression. */ printf("%d\n", *(int*)pv); /* OK */ pv = &d; /* OK */ printf("%f\n", *pv); /* Error: Invalid use of void expression. */ printf("%f\n", *(double*)pv); /* OK */ return 0; }