#include <stdio.h>
// int, float, char νμ
μ κ°μ μΆλ ₯νλ ν¨μ
void printValue(void*ptr, char type){
// void ν¬μΈν° ptr : μ΄λ€ νμ
μ λ°μ΄ν°λ κ°λ¦¬ν¬ μ μμ
// char type : λ°μ΄ν°μ νμ
μ ꡬλΆνκΈ° μν λ¬Έμ ('i', 'f', 'c')
switch (type){ // νμ
μ λ°λΌ λΆκΈ° μ²λ¦¬
case 'i': // μ μν(int)μΌ κ²½μ°
printf("%d\n", *(int*)ptr);
// void ν ν¬μΈν°λ₯Ό intν ν¬μΈν°λ‘ ν λ³ννμ¬ μμ°Έμ‘°
break;
case 'f': // μ€μν(float)μΌ κ²½μ°
printf("%f\n", *(float*)ptr);
// void ν ν¬μΈν°λ₯Ό floatν ν¬μΈν°λ‘ ν λ³ννμ¬ μμ°Έμ‘°
break;
case 'c': // λ¬Έμν(char)μΌ κ²½μ°
printf("%c\n", *(char*)ptr);
// void ν ν¬μΈν°λ₯Ό charν ν¬μΈν°λ‘ ν λ³ννμ¬ μμ°Έμ‘°
break;
}
}
int main(){ // νλ‘κ·Έλ¨ μμμ
int i = 23; // μ μν λ³μ i μ μΈ λ° 23μΌλ‘ μ΄κΈ°ν
float f = 4.5; // μ€μν λ³μ f μ μΈ λ° 4.5λ‘ μ΄κΈ°ν
char c = 'z'; // λ¬Έμν λ³μ c μ μΈ λ° 'z'λ‘ μ΄κΈ°ν
printValue(&i, 'i'); // μ μν λ³μ iμ μ£Όμμ νμ
μ λ¬
printValue(&f, 'f'); // μ€μν λ³μ fμ μ£Όμμ νμ
μ λ¬
printValue(&c, 'c'); // λ¬Έμν λ³μ cμ μ£Όμμ νμ
μ λ¬
return 0; // νλ‘κ·Έλ¨ μ μ μ’
λ£
}