【发布时间】:2017-10-30 19:26:07
【问题描述】:
如何知道C中变量的类型?
我试过 sizeof() 但我不相信答案,我不知道如何在 C 中使用 typeof()。
一些帮助?
如果我们有例如:
int i ;
那么('A' + i)的类型是什么。我虽然我可以做类似的事情
printf("%s", typeof('A' + i));
显示我的表达式的正确类型,但我不知道 gcc 表达式是如何工作的。
请帮忙!
【问题讨论】:
-
C 中没有反射。
-
您能更具体地说明您要做什么吗?
-
C 是静态类型的,因此查找变量的声明会为您提供准确的数据类型。
-
就像@HuStmpHrrrr 所说,C 中没有办法。你的用例是什么?也许有其他解决方案。
-
您不能不相信
sizeof运算符的结果。如果您的编译器严重损坏以至于无法正确计算大小,那么您几乎不能依赖它来处理任何事情。如果sizeof产生的结果让你感到惊讶,那可能是因为你对操作数有一些误解。