溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

函數(shù)與指針

發(fā)布時間:2020-06-18 14:36:28 來源:網(wǎng)絡(luò) 閱讀:315 作者:hat小坤 欄目:編程語言

1.C語言中函數(shù)有自己特定的類型

2.函數(shù)的類型由返回值,參數(shù)類型參數(shù)個數(shù)共同決定

3.C語言中通過typedef為函數(shù)類型重命名

4.函數(shù)指針用于指向一個函數(shù)

5.函數(shù)名是執(zhí)行函數(shù)體的入口地址

6.可通過函數(shù)類型定義函數(shù)指針:Func Type* pointer

7.也可以直接定義:type (*pointer)(parameter list) pointer為函數(shù)指針變量名,type為指向函數(shù)的返回值類型,paramter list為指向函數(shù)的參數(shù)類型列表

#include <stdio.h>

typedef 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ù)指針實現(xiàn)的一種調(diào)用機制

2.回調(diào)機制原理:調(diào)用者不知道具體事件發(fā)生的時候需要調(diào)用的具體函數(shù),被調(diào)函數(shù)不知道何時被調(diào)用,只知道被調(diào)用后需要完成的任務(wù),當具體事件發(fā)生時,調(diào)用者通過函數(shù)指針調(diào)用具體函數(shù)

3.回調(diào)機制的將調(diào)用者和被調(diào)函數(shù)分開,兩者互不依賴。


指針閱讀技巧解析

1.從最里層的圓括號中未定義的標識符看起

2.首先往右看,再往左看

3.當遇到圓括號或者方括號時可以確定部分類型,并調(diào)轉(zhuǎn)方向

4.重復(fù)2.3步驟,直到閱讀結(jié)束、

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI