void (*p)()是一个指向函数的指针,表示是一个指向函数入口的指地变量,该函数的返回类型是void类型。它的用法可参看下例: 例如:有一返加void值的函数swap,(swap用来交换两个数) void (*p)(); /*定义指向函数的指针变量p*/ p=swap; /*使指针变量p指向函数max*/ (*p)(a,b); /*通过指针变量p调用函数max*/ 它等价于: swap(a,b) void *p()是一个指针型函数,它的函数名为p,返回了一个指针,因为是void,这个指针没有定义类型,所以返回的是一个通用型指针。 给你举一个例子: #include<stdio.h> int *max(int *p); void main() { int a[10]={96,23,45,86,79,63,58,36,29,95}; int *p; p=max(a); printf(“max=%d ”,*p); } int *max(int *p) { int i,*q=p; for(i=1;i<10;i++) if(*(p+i)>*q) q=p+1; return q; }