/** void point, generic type **/ #include <stdio.h> void echo(void *data, int size) { char *charp; int *intp; if (size==sizeof(char)) { charp=(char *)data; printf("char %c\n", *charp); } else if (size==sizeof(int)) { intp=(int *)data; printf("int %d\n",*intp); } } int main() { int a=23; char c='A'; echo(&a,sizeof(a)); echo(&c,sizeof(c)); return 0; }