可以把一個指針聲明成為一個指向函數(shù)的指針。
int fun1(char *,int);
int (*pfun1)(char *,int);
pfun1=fun1;
int a=(*pfun1)("abcdefg",7); //通過函數(shù)指針調(diào)用函數(shù)。
可以把指針作為函數(shù)的形參。在函數(shù)調(diào)用語句中,可以用指針表達式來
作為實參。
例十四:
int fun(char *);
inta;
char str[]="abcdefghijklmn";
a=fun(str);
int fun(char *s)
{
int num=0;
for(int i=0;;)
{
num+=*s;s++;
}
return num;
}

這個例子中的函數(shù)fun 統(tǒng)計一個字符串中各個字符的ASCII 碼值之
和。前面說了,數(shù)組的名字也是一個指針。在函數(shù)調(diào)用中,當把str
作為實參傳遞給形參s 后,實際是把str 的值傳遞給了s,s 所指向的
地址就和str 所指向的地址一致,但是str 和s 各自占用各自的存儲空
間。在函數(shù)體內(nèi)對s 進行自加1 運算,并不意味著同時對str 進行了自
加1 運算。