【发布时间】:2015-07-20 17:21:46
【问题描述】:
typeof 运算符在 C 中是否可用。如果是,如何实现它。或者是否有我必须使用的头文件?尝试使用 typeof 语句时出现以下错误
- 未声明的函数'typeof'(你的意思是
feof?);假设extern返回int。
【问题讨论】:
-
有一个 gcc extension 可用,但它并没有像你想象的那样做任何运行时魔法,因为 C 并没有真正具有类型化运行时多态性。你想用它做什么?如果您想弄清楚某物在投射之前是什么类型,则您必须自己跟踪此类信息。
-
我正在同时学习 C 和 Python。由于它在 Python 中可用,我认为它也可能在 C 中可用。
-
Python 是一种动态类型的解释语言。 C 两者都不是。 Python有类。 C 没有。在 Python 中,您可以使用
typeof在运行时查找变量的类型。在 C 中,您在编译时就知道变量的类型,因为您必须在源代码中显式声明它们。例如。 C 中的void foo(int x)与 Python 中的def foo(x):。 -
Python 有一定程度的language reflection,而 C 没有。反射是一个非常有用的通用概念,它可以帮助您快速浏览哪些语言支持这种功能,哪些不支持。