相关疑难解决方法(0)

如何在C中检查变量是否属于某种类型(比较两种类型)?

在C(不是C++/C#)中,如何检查变量是否属于某种类型?

例如,像这样:

double doubleVar;
if( typeof(doubleVar) == double ) {
    printf("doubleVar is of type double!");
}
Run Code Online (Sandbox Code Playgroud)

或者更一般:我如何比较两种类型,以便compare(double1,double2)评估为true,compare(int,double)并将评估为false.我还想比较不同构图的结构.

基本上,我有一个函数,它对"struct a"和"struct b"类型的变量进行操作.我想用"struct a"变量做一件事,用"struct b"变量做另一件事.由于C不支持重载并且void指针丢失其类型信息,我需要检查类型.顺便说一句,typeof如果你不能比较类型,那么拥有一个算子会有什么意义呢?


对于我来说,sizeof方法似乎是一个实用的解决方案.谢谢你的帮助.我仍然觉得它有点奇怪,因为类型在编译时是已知的,但是如果我想象机器中的进程我可以看到,为什么信息不是按类型存储,而是按字节大小存储.除了地址之外,大小是唯一真正相关的东西.

c struct types

55
推荐指数
7
解决办法
14万
查看次数

在C中是无效的数据类型?

voidC编程语言中的数据类型吗?如果是这样,它可以存储什么类型的值?如果我们有int,float,char,等,来存储值,为什么void需要?

c types void

50
推荐指数
3
解决办法
6万
查看次数

标签 统计

c ×2

types ×2

struct ×1

void ×1