c - 结构名称的数据类型是什么

标签 c oop types struct instanceof

如果我想创建一个将结构名称作为参数的函数,方法签名会是什么样子?

typedef struct Class{
} Class;

main()
{
    Class *a = malloc(Class);
    return instanceOf(a, Class);
}

instanceOf 的声明是什么样的?

最佳答案

您不能将类型传递给 C 中的函数。但是,您可以使用宏来模拟此行为:

#define new_instance(t) (malloc(sizeof(t)))

Class *instance = new_instance(Class);

关于c - 结构名称的数据类型是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10571322/

相关文章:

c - 当较大的数据类型(例如 int)转换为较小的数据类型(例如 short)时,C 中会发生什么情况?

c++ - 宏输出说明

c# - 应该覆盖哪些方法才能正确继承 `ObservableCollection`

oop - 如何说服我的同事不要将数据集用于企业开发 (.NET 2.0+)

c# - 使用反射获取类型

c# - 为什么 IsAssignableFrom 在将可空值与接口(interface)进行比较时返回 false?

c++ - 使用 strlen 在 winapi 中获取字符串长度

将十六进制字符数组转换为字节数组Arduino

c++ - 具有附加默认参数的接口(interface)实现?

scala - 在Scala中的运行时获取类型的字符串表示形式