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

Dav*_*han 1 c oop struct types instanceof

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

typedef struct Class{
} Class;

main()
{
    Class *a = malloc(Class);
    return instanceOf(a, Class);
}
Run Code Online (Sandbox Code Playgroud)

宣言instanceOf会是什么样子?

小智 7

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

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

Class *instance = new_instance(Class);
Run Code Online (Sandbox Code Playgroud)

  • 不,你不能将类型作为作为参数的函数. (2认同)