#include<stdio.h>
void fun(void *x)
{
//what is the data type of 'x', since I could have passed float instead of
// int so first I have to check datatype of this and then proceed further.
}
int main()
{
int n=10;
fun(&n);
}
우리는 fun() 함수에서 'x'유형을 모른다는 것을 알 수 있습니다. 그래서 함수 인수에서 다른 정보를 사용하지 않고 어떻게 찾을 수 있습니까?C에서 알 수없는 유형의 변수의 데이터 유형을 아는 방법?
당신은 할 수 없습니다, 나는 두려워. 순수한 C가 아닙니다. 추가 정보를 전달해야합니다. – Baldrick
C는 인수 유형에 포함 된 것 이상을 알고 있습니다.이 경우에는 '뭔가에 대한 포인터'입니다. 도움이되는 C++에는 몇 가지 메커니즘이 있지만 단순한 'int'를 전달할 때는 작동하지 않습니다. – Rob
void 포인터가 아니라 printf도 마찬가지입니다. 형식 문자열 형식으로 형식 정보를 함수에 보내어받는 데이터 형식을 알 수 있습니다. –