函数指针查询

Vij*_*jay 0 c function-pointers

下面这两者有什么区别:

typedef void (*my_destructor)(void *);

typedef void (*my_destructor)(void *)  my_func_ptr;
Run Code Online (Sandbox Code Playgroud)

第二个有效吗?

Kea*_*eks 7

第一个声明了一个名为的类型my_destructor.此类型是指向函数的指针,该函数采用类型的参数void*并且不返回任何内容.

第二个是无效的,你想做什么?如果要声明类型的变量my_destructor,则必须执行以下操作:

typedef void (*my_destructor)(void *);
my_destructor my_func_ptr;
Run Code Online (Sandbox Code Playgroud)