C 没有任何运行时类型信息。使用标准 C 可以实现的最佳效果是在编译时手动列出所有支持的类型,然后在编译时检查使用了哪个类型。例子:
#include
#define TYPE_STR(x) _Generic((x), \
int: "int", \
double: "double", \
char: "char" ) \
int main()
{
int x=10;
printf("%d %s",x,TYPE_STR(x));
}
C 没有任何运行时类型信息。使用标准 C 可以实现的最佳效果是在编译时手动列出所有支持的类型,然后在编译时检查使用了哪个类型。例子:
#include
#define TYPE_STR(x) _Generic((x), \
int: "int", \
double: "double", \
char: "char" ) \
int main()
{
int x=10;
printf("%d %s",x,TYPE_STR(x));
}