亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

回調函數的用法和好處?

回調函數的用法和好處?

DIEA 2019-02-05 11:07:18
1.回調函數的功能是什么,有什么好處,有沒有壞處?2.可以的話請編寫一個簡答的回調函數,看看怎樣調用實現的,WndProc里面的不算
查看完整描述

3 回答

?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

函數調用形式本身沒有好壞之分

任何函數代碼如果有錯誤都可能導致軟件出問題,甚至導致崩潰

c 里可以使用指針,函數指針
這就使程序可以更靈活

當 函數指針 做為函數的參數,傳遞給一個被調用函數,
被調用函數就可以通過這個指針調用外部的函數,這就形成了回調

windows程序中 WndProc 就是使用回調的典型形式

一般的程序中回調函數作用不是非常明顯,可以不使用這種形式

最主要的用途就是當函數不處在同一個文件當中,比如動態庫,要調用
其他程序中的函數就只有采用回調的形式

#include "stdio.h"
#include "conio.h"

int add(int a, int b);
int libfun(int (*pDis)(int a, int b));

int main(void)
{
int (*pfun)(int a, int b);

pfun = add;
libfun(pfun);

}

int add(int a, int b)
{
return a + b;

}

int libfun(int (*pDis)(int a, int b))
{
int a, b;
a = 1;
b = 2;
printf("%d", pDis(a, b));

}

現在這幾個函數是在同一個文件當中

假如
int libfun(int (*pDis)(int a, int b))
是一個庫中的函數,就只有使用回調了,通過函數指針參數將外部函數地址傳入
來實現調用

函數 add 的代碼作了修改,也不必改動庫的代碼,就可以正常實現調用
便于程序的維護和升級



查看完整回答
反對 回復 2019-03-17
?
莫回無

TA貢獻1865條經驗 獲得超7個贊

回調函數由系統在適當的時侯調用 必須是__stdcall調用

查看完整回答
反對 回復 2019-03-17
  • 3 回答
  • 0 關注
  • 836 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號