在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳解回調函數的概念及使用步驟

嵌入式應用開發 ? 來源:嵌入式應用開發 ? 作者:嵌入式應用開發 ? 2022-05-26 15:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

回調函數的概念:

回調函數就是一個被作為參數傳遞的函數。在C語言中,回調函數只能使用函數指針實現,在C++Python、ECMAScript等更現代的編程語言中還可以使用仿函數或匿名函數。

回調函數的使用可以大大提升編程的效率,這使得它在現代編程中被非常多地使用。同時,有一些需求必須要使用回調函數來實現。

最著名的回調函數調用有C/C++標準庫stdlib.h/cstdlib中的快速排序函數qsort和二分查找函數bsearch中都會要求的一個與strcmp類似的參數,用于設置數據的比較方法。

回調函數的使用步驟:

⑴定義一個回調函數;

⑵提供函數實現的一方在初始化的時候,將回調函數的函數指針注冊給調用者;

⑶當特定的事件或條件發生的時候,調用者使用函數指針調用回調函數對事件進行處理。

回調函數中沒有參數的使用方法,如下代碼:

#include

int Callback_1() // Callback Function 1
{
    printf("Hello, this is Callback_1 ");
    return 0;
}

int Callback_2() // Callback Function 2
{
    printf("Hello, this is Callback_2 ");
    return 0;
}

int Callback_3() // Callback Function 3
{
    printf("Hello, this is Callback_3 ");
    return 0;
}

int Handle(int (*Callback)())  //定義回調函數體
{
    printf("Entering Handle Function. ");
    Callback();
    printf("Leaving Handle Function. ");
}

int main()
{
    printf("Entering Main Function. ");
    Handle(Callback_1);
    Handle(Callback_2);
    Handle(Callback_3);
    printf("Leaving Main Function. ");
    return 0;
}

d當我們回調的函數帶參數時,需要做如下的調整:

#include

int Callback_1(int x) // Callback Function 1
{
    printf("Hello, this is Callback_1: x = %d ", x);
    return 0;
}

int Callback_2(int x) // Callback Function 2
{
    printf("Hello, this is Callback_2: x = %d ", x);
    return 0;
}

int Callback_3(int x) // Callback Function 3
{
    printf("Hello, this is Callback_3: x = %d ", x);
    return 0;
}

int Handle(int y, int (*Callback)(int))   //注意差異
{
    printf("Entering Handle Function. ");
    Callback(y);
    printf("Leaving Handle Function. ");
}

int main()
{
    int a = 2;
    int b = 4;
    int c = 6;
    printf("Entering Main Function. ");
    Handle(a, Callback_1);
    Handle(b, Callback_2);
    Handle(c, Callback_3);
    printf("Leaving Main Function. ");
    return 0;
}
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7630

    瀏覽量

    141002
  • 編程語言
    +關注

    關注

    10

    文章

    1955

    瀏覽量

    36400
  • 回調函數
    +關注

    關注

    0

    文章

    88

    瀏覽量

    11863
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    一文詳解C語言函數指針與調函數

    在講調函數之前,我們需要了解函數指針。
    發表于 10-19 09:34 ?976次閱讀

    C語言里面的函數指針和調函數

    在講調函數之前,我們需要了解函數指針。
    發表于 12-13 10:28 ?805次閱讀

    C 語言調函數詳解

    C 語言調函數詳解什么是調函數
    發表于 04-08 10:36

    C語言調函數學習

    對指針的應用是C語言編程的精髓所在,而回調函數就是C語言里面對函數指針的高級應用。簡而言之,調函數
    發表于 05-27 09:44 ?7294次閱讀

    LabWindows/CVI 程序 調函數設計

    調函數是系統框架設計中非常重要的一種手段,所謂調函數(callback )是指一個通過
    發表于 05-03 16:54 ?1.1w次閱讀
    LabWindows/CVI 程序 <b class='flag-5'>回</b><b class='flag-5'>調</b><b class='flag-5'>函數</b>設計

    調函數的詳細資料說明

    異步事件的處理,首先將異步事件發生時需要執行的代碼編寫成一個函數,并將該函數注冊成為調函數,這樣當該異步事件發生時,系統會自動調用事先注冊
    發表于 02-28 08:00 ?6次下載
    <b class='flag-5'>回</b><b class='flag-5'>調</b><b class='flag-5'>函數</b>的詳細資料說明

    C語言函數調函數

    來源:嵌入式客棧 1 什么是調函數?首先什么是調呢? 我的理解是:把一段可執行的代碼像參數傳遞那樣傳給其他代碼,而這段代碼會在某個時刻被
    的頭像 發表于 09-11 09:57 ?4395次閱讀

    c語言調函數的使用及實際作用詳解

    大家好,我是無際。今天給大家講一下芯片/模塊廠家寫SDK必須會使用的一種技術:調函數調函數
    發表于 11-20 19:51 ?13次下載
    c語言<b class='flag-5'>回</b><b class='flag-5'>調</b><b class='flag-5'>函數</b>的使用及實際作用<b class='flag-5'>詳解</b>

    智能電網的概念及通信技術詳解

    智能電網的概念及通信技術詳解
    發表于 11-21 20:41 ?1541次閱讀

    一文詳解C/C++調函數

    首先看一下調函數的官方解釋:調函數就是一個通過函數
    的頭像 發表于 02-12 09:20 ?1915次閱讀

    函數指針和調函數的使用方法

    了解開發語言的朋友應該都會對調函數有所了解,在很多的程序開發語言中都能看到調的身影。很多場景下,當某個條件成立以后我們希望代碼執行某些指
    的頭像 發表于 04-10 15:08 ?1420次閱讀

    C語言技巧之調函數

    在講調函數之前,我們需要了解函數指針。
    的頭像 發表于 04-18 11:50 ?1046次閱讀

    C語言|調函數的不同用法

    調函數是個高級操作技巧,也是日常項目中常常使用到的技能。之所以說調函數是個高級操作技巧,是因
    發表于 07-10 10:34 ?1530次閱讀

    應用筆記 | 淺談STM32庫里的調函數

    關鍵字:調函數,HAL庫 ? 目錄預覽 1.調函數 2.STM32固件庫里的
    的頭像 發表于 09-14 17:10 ?4810次閱讀
    應用筆記 | 淺談STM32庫里的<b class='flag-5'>回</b><b class='flag-5'>調</b><b class='flag-5'>函數</b>

    調函數(callback)是什么?調函數的實現方法

    調函數是一種特殊的函數,它作為參數傳遞給另一個函數,并在被調用函數執行完畢后被調用。
    發表于 03-12 11:46 ?3913次閱讀
    主站蜘蛛池模板: 婷婷久久久五月综合色 | 一区二区手机视频 | 俺去插| 中文字幕一二三区乱码老 | 亚洲人毛茸茸bbxx | 免费网站黄 | 精品国产免费观看一区高清 | 国产人人艹| 日本老师69xxxxxxxxx | 张柏芝三级无删减在线观看 | 亚洲日本在线观看 | 亚洲视频三区 | 天堂tv亚洲tv日本tv欧美人tv | 国产va免费精品高清在线观看 | 中文字幕第五页 | 最新地址四虎www4hutv | 亚洲欧美日韩另类精品一区二区三区 | 国产精品第9页 | 色多多在线观看播放 | 91亚色视频在线观看 | 国产狂喷冒白浆免费视频 | 精品精品国产高清a毛片牛牛 | 欧美成人午夜精品一区二区 | 黄视频网站观看 | 美女大黄三级视频在线观看 | 一区在线免费观看 | 色妞综合 | 屁屁影院在线 | 国产无套视频在线观看香蕉 | 色多多在线观看高清免费 | 天天做天天爱夜夜爽 | 午夜神马福利免费官方 | 轻点灬大ji巴太粗太长了爽文 | 你懂的网站在线播放 | 午夜美女视频在线观看高清 | 天天操2023| 亚洲黄色激情网 | 天天射综合网站 | 国产伦子一区二区三区 | 夜夜爱成人免费网站 | 大黄网站在线观看 |