这个typedef是如何工作的?

the*_*eva 0 c typedef

我看到这行代码,我不明白什么是typedef:ed where ...

typedef void *(*SomeType)(OtherType mem, thirdtype size);
Run Code Online (Sandbox Code Playgroud)

那么,我该如何使用它呢?

Sto*_*ica 5

这是函数指针的typedef.

typedef void *(*SomeType)(OtherType mem, thirdtype size);

void* func (OtherType mem, thirdtype size) {}
Run Code Online (Sandbox Code Playgroud)

然后可以像这样使用:

SomeType fptr = &func;

fptr(someMem, someSize);
Run Code Online (Sandbox Code Playgroud)

或者它本身可以作为参数传递给函数

void memory_visitor (SomeType visit_cb)
{
  ...
  if (visit_cb)
    visit_cb (visistedMem, visistedMemSize);
}
Run Code Online (Sandbox Code Playgroud)