久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1802|回復: 9
打印 上一主題 下一主題
收起左側

什么是回調函數,有什么用

[復制鏈接]
跳轉到指定樓層
樓主
ID:709761 發表于 2024-3-1 16:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
回調函數是一個通過函數指針調用的函數。為什么不直接調用函數。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:277550 發表于 2024-3-1 23:31 | 只看該作者
往往是用在SDK、或反復調用的代碼,等情況。
回復

使用道具 舉報

板凳
ID:1109793 發表于 2024-3-2 07:19 | 只看該作者
我隱約記得回調的意思是函數自己可以調用自己的,不一定非要通過指針調用吧
回復

使用道具 舉報

地板
ID:517951 發表于 2024-3-2 08:09 | 只看該作者
用回調函數,目的就是為了功能的靈活, 可以隨時通過函數指針改變軟件功能
回復

使用道具 舉報

5#
ID:1096586 發表于 2024-3-3 01:01 | 只看該作者
在某些簡單和直接的情境下,直接調用函數就能解決問題。回調函數提供了更大的靈活性和可擴展性,使得代碼更容易維護和修改,在某些情境下,使用回調函數可能更為合適:
1、需要動態性和擴展性的情境: 使用回調函數可以在運行時指定要執行的代碼。這使得程序更具動態性,能夠根據需要在運行時更改其行為。如果直接調用函數,代碼的行為就是靜態的,不能在運行時更改。

2、需要解耦合的情境: 使用回調函數可以實現函數之間的解耦合。這意味著調用方和被調用方之間的關系更加靈活,它們可以相對獨立地演變。如果直接調用函數,兩者之間的關系更為緊密,不容易進行修改和擴展。

3、需要通用性的情境: 回調函數可以用于實現通用的接口和框架。一個函數可以接受一個回調函數,而不關心具體的實現,這使得這個函數更加通用和可重用。直接調用函數可能需要特定的實現,降低了通用性。

事件處理: 在事件驅動的編程中,回調函數常用于處理異步事件。當某個事件發生時,通過回調函數通知相應的處理代碼。這種方式比輪詢或者等待更加高效。
回復

使用道具 舉報

6#
ID:1112070 發表于 2024-3-3 21:13 | 只看該作者
函數指針的調用,即是一個通過函數指針調用的函數;
如果你把函數的指針(地址)作為參數傳遞給另一個函數,當這個指針被用來調用其所指向的函數時,就說這是回調函數。
回復

使用道具 舉報

7#
ID:1101997 發表于 2024-4-10 10:29 | 只看該作者
其實,回調函數更多的用途是程序上看起來整潔干凈,更容易模塊化,和直接調用區別不大,并且還犧牲了效率,但是目前處理器速度都很快,效率和整潔易用比較起來還是讓步一點。

可讀性和健壯性模塊化是現在程序設計的重要特點。
回復

使用道具 舉報

8#
ID:1088185 發表于 2024-4-10 20:20 | 只看該作者
首先明確一些慨念問題, 回調函數,函數指針調用的函數是兩件事.
回調函數其作用是連接底層驅動至應用層
例如, 要做一個串口接收及拆包的底層驅動,當接收到并解析數據包后,肯定需要一手段通知應用層去處理這數據,回調函數就是扮演這角色。
問題在寫底層驅動時你的應用層還沒做,我回調到哪兒都不適。
所以這回調函數就會通過函數指針的方式調用, 當你做應用層后, 就把此回調函數的指針指向你要的回調函數。
回復

使用道具 舉報

9#
ID:1088185 發表于 2024-4-10 20:31 | 只看該作者
1600277881 發表于 2024-4-10 20:20
首先明確一些慨念問題, 回調函數,函數指針調用的函數是兩件事.
回調函數其作用是連接底層驅動至應用層
...

比如你在用ST的庫,希望它處理數據接收,收到你所指定數量的數據后通知你去處理數據,人家ST在寫這庫的時候你的軟件還沒做呢, 你讓他怎樣通過直接調用函數來通知你?
所以要用函數指針的方式做回調函數,你的應用做好后,就把此回調函數的指針指向你要的回調函數就完事了
回復

使用道具 舉報

10#
ID:195496 發表于 2024-4-12 08:33 | 只看該作者
用函數指針可以方便的改變功能,指向不同的處理函數
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄色大片av | 成人小视频在线观看 | www.一区| 日韩黄色一级 | 日本黄色免费视频 | 国产精品成人一区二区网站软件 | 欧美日韩成人在线观看 | 超碰免费在线 | 欧美在线网址 | 国产一级18片视频 | 999热视频| 操操操操操操 | 91久久久久久久 | 极品白嫩少妇无套内谢 | 在线观看国产小视频 | 中文字幕免费在线看线人动作大片 | 国产精品看片 | 日韩在线一区二区三区 | 亚洲视频三区 | 日韩欧美激情 | 久久黄色网址 | 国产丝袜一区 | 欧美一级免费 | 蜜臀av性久久久久av蜜臀妖精 | 精品在线看 | 国产乱人伦 | 婷婷五月在线视频 | 天天爱天天色 | 在线一区二区三区四区 | 99这里只有精品 | 国产一级二级 | 国产成人一区二区三区 | 欧美爱爱视频 | 在线亚洲一区 | 中文字幕在线观 | 久久久精品免费 | 黄色a毛片 | 欧美精品99久久久 | 中国少妇xxxxhd做受 | 国产在线欧美 | 国产精品成人一区 |