2016-03-04 67 views
-1

我是C和指针的新手(所以请在我身上轻松一下)。 我使用的参考书,我在这些代码没有解释任何来到(所有这说的是:函数名是一个指向函数):函数void * a和指针函数作为参数

int isBigger(void *a,void *b,int (*f)(void *,void *)){ 
    return f(a,b) 
} 

我的问题是:

  1. 什么是void * a?
  2. 是* f指向函数的指针吗?
  3. 什么是void *?它与void * a有关吗?

回答

3

由于给定不会编译的代码片段,我想这是你的意思:

int isBigger(void *a,void *b,int (*f)(void *,void *)){ 
    return f(a,b); 
} 

void*是可以指向任何一个指针。有关更多信息,请参阅this post

f是一个函数指针,它需要两个void*并返回一个int。您可以使用f(a,b)调用该功能。您可以在this post中找到更多示例。