錯(cuò)了。書上原文是盡量
創(chuàng)新互聯(lián)建站專注于企業(yè)成都全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、沈北新網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城網(wǎng)站定制開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為沈北新等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
指針可以用數(shù)組來(lái)接收
不信你運(yùn)行下以下代碼
函數(shù)定義和函數(shù)調(diào)用是兩個(gè)概念,函數(shù)定義 為f(int *arr),表示參數(shù)是一個(gè)整型指針,因此使用該函數(shù)時(shí)要傳遞一個(gè)地址,如變量int a=0; 調(diào)用函數(shù)f傳遞a的地址時(shí)需要寫為f(a);而對(duì)于數(shù)組來(lái)說(shuō),如int b[]=[1,2,3], b本身就是數(shù)組首元素的地址,因此調(diào)用函數(shù)f傳遞數(shù)組首地址需要寫為f(b)。
函數(shù)傳遞的是數(shù)組的首地址,即a[0]的地址,而不是把整個(gè)地址都傳過(guò)去,因?yàn)橛惺椎刂?,只要往下尋找就能遍歷整個(gè)數(shù)組了。而指針就可以指向數(shù)組首地址~
是的。函數(shù)指針就是函數(shù)的指針,它是一個(gè)指針,指向一個(gè)函數(shù)。這正如用指針變量可指向整型變量、字符型、數(shù)組一樣,這里是指向函數(shù)。
例:
A) char * (*fun1)(char * p1,char * p2);
B) char * *fun2(char * p1,char * p2);
表達(dá)式相比,唯一不同的就是函數(shù)的返回值類型為char**,是個(gè)二級(jí)指針。
C) char * fun3(char * p1,char * p2);
fun3是函數(shù)名,p1,p2是參數(shù),其類型為char *型,函數(shù)的返回值為char *類型。
擴(kuò)展資料
函數(shù)指針使用的例子
#include stdio.h
#include string.h
char * fun(char * p1,char * p2)
{
int i = 0;
i = strcmp(p1,p2);
if (0 == i)
{
return p1;
}
else
{
return p2;
}
}
int main()
{
char * (*pf)(char * p1,char * p2);
pf = fun;
(*pf) ("aa","bb");
return 0;
}