Closed. This question needs details or clarity. It is not currently accepting answers. Learn more。
想改进这个问题吗?添加细节并通过editing this post澄清问题。
两年前关闭。
我是一个新程序员,主要使用C99的Code::Blocks。
我最近发现了
我想知道你是否可以保存一个类型作为type of的结果。类似于:
或者
这可能吗?
想改进这个问题吗?添加细节并通过editing this post澄清问题。
两年前关闭。
我是一个新程序员,主要使用C99的Code::Blocks。
我最近发现了
typeof()
,因为它被隐藏为我想知道你是否可以保存一个类型作为type of的结果。类似于:
type a = __typeof__(?);
或者
#define typeof __typeof__
type a = typeof(?);
这可能吗?
最佳答案
您应该避免typeof
或__typeof __()
,因为它们不是标准的C。最新的C版本(C11)通过_Generic
关键字支持这一点,该关键字以相同的方式工作。
C中没有“类型”,但您可以自己轻松地创建一个:
typedef enum
{
TYPE_INT,
TYPE_FLOAT,
TYPE_CHAR
} type_t;
#define get_typeof(x) \
_Generic((x), \
int: TYPE_INT, \
float: TYPE_FLOAT, \
char: TYPE_CHAR );
...
float f;
type_t type = get_typeof(f);
关于c - 如何保存typeof的结果? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42222379/
10-12 17:16