1.C語(yǔ)言中函數(shù)有自己特定的類(lèi)型
2.函數(shù)的類(lèi)型由返回值,參數(shù)類(lèi)型和參數(shù)個(gè)數(shù)共同決定
3.C語(yǔ)言中通過(guò)typedef為函數(shù)類(lèi)型重命名
4.函數(shù)指針用于指向一個(gè)函數(shù)
5.函數(shù)名是執(zhí)行函數(shù)體的入口地址
6.可通過(guò)函數(shù)類(lèi)型定義函數(shù)指針:Func Type* pointer
7.也可以直接定義:type (*pointer)(parameter list) pointer為函數(shù)指針變量名,type為指向函數(shù)的返回值類(lèi)型,paramter list為指向函數(shù)的參數(shù)類(lèi)型列表
#includetypedef int(FUNC)(int); int test(int i) { return i * i; } void f() { printf("Call f()...\n"); } int main() { FUNC* pt = test;//函數(shù)指針賦值 void(*pf)() = &f; pf(); (*pf)(); printf("Function pointer call: %d\n", pt(2)); }
函數(shù)和數(shù)組指針的定義區(qū)別為:數(shù)組指針用&取出地址,而函數(shù)用&和不用都表示函數(shù)的地址。
回調(diào)函數(shù)
1.回調(diào)函數(shù)是利用函數(shù)指針實(shí)現(xiàn)的一種調(diào)用機(jī)制
2.回調(diào)機(jī)制原理:調(diào)用者不知道具體事件發(fā)生的時(shí)候需要調(diào)用的具體函數(shù),被調(diào)函數(shù)不知道何時(shí)被調(diào)用,只知道被調(diào)用后需要完成的任務(wù),當(dāng)具體事件發(fā)生時(shí),調(diào)用者通過(guò)函數(shù)指針調(diào)用具體函數(shù)
3.回調(diào)機(jī)制的將調(diào)用者和被調(diào)函數(shù)分開(kāi),兩者互不依賴(lài)。
指針閱讀技巧解析
1.從最里層的圓括號(hào)中未定義的標(biāo)識(shí)符看起
2.首先往右看,再往左看
3.當(dāng)遇到圓括號(hào)或者方括號(hào)時(shí)可以確定部分類(lèi)型,并調(diào)轉(zhuǎn)方向
4.重復(fù)2.3步驟,直到閱讀結(jié)束、
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。