#void(*p)() 這是一個指向函數的指針,函數的返回值類型是void,從這個聲明中能夠看出,第一個圓括號將運算符*和p結合在一塊兒,這表示p是一個指向函數的的指針,(*p)是一個函數,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\n」,*p); } int *max(int *p) { int i,*q=p; for(i=1;i<10;i++) if(*(p+i)>*q) q=p+i; return q; }
#void*(*p)(void) void *(*p)(void):函數返回值是void*指針類型。*p則是一個函數指針。括號中的void表示函數指針指向的函數參數爲void。code