// example10_6.c
#include <stdio.h>
void printValue(void *ptr, char type) {
switch (type) {
case 'i': // int형으로 해석
printf("%d\n", *(int*)ptr);
break;
case 'f': // float형으로 해석
printf("%f\n", *(float*)ptr);
break;
case 'c': // char형으로 해석
printf("%c\n", *(char*)ptr);
break;
default:
printf("알 수 없는 타입입니다.\n");
break;
}
}
int main(void) {
int i = 23;
float f = 4.5f;
char c = 'z';
printValue(&i, 'i'); // int형 변수 i를 void*로 넘기고 'i'로 해석
printValue(&f, 'f'); // float형 변수 f를 void*로 넘기고 'f'로 해석
printValue(&c, 'c'); // char형 변수 c를 void*로 넘기고 'c'로 해석
return 0;
}