1. 程式人生 > >最簡單的回撥函式例子

最簡單的回撥函式例子

#include <stdio.h>


void PrintMessage(int i);  
void ShowMessage(void (* ptr)(int), int par);  
int main()
{
ShowMessage(PrintMessage, 3);  
return 0;
}
  
void PrintMessage(int i){  
   printf("This is the message [%d]\n",i);  
}  
   
void ShowMessage(void (* ptr)(int), int par){  
    (* ptr)(par);  

方式二:採用多接口出入處理

#include <stdio.h>
#include <string.h>

typedef int (* CallbackFunT)(void *parameter);


int Printcallback(void *parameter);
int Callback_Test(CallbackFunT callbackFunc, void *parameter);

//多種介面回撥函式
int Printcallback(void *parameter){ 
int *i = 0;
i = (int *)parameter;
   printf("This is the message [%d]\n",i);  
   return 0;
}  


int Callback_Test(CallbackFunT callbackFunc, void *parameter)
{
int iRet = 0;
if (callbackFunc == NULL)
{
return 1;
}
    
    iRet = callbackFunc(parameter);
    if (iRet != 0)
    {
        return iRet;
    }
    
return 0;
}

int main()
{
int num = 2;
//回撥函式測試
Callback_Test(Printcallback, (void *)num);
return 0;
}

相關推薦

簡單函式例子

#include <stdio.h> void PrintMessage(int i);   void ShowMessage(void (* ptr)(int), int par);   int main() {ShowMessage(PrintMessage

函式-例子-C語言

  之前看到過關於回撥函式的內容,不是特別理解,最近突然又看到了關於回撥函式的內容,想著試著把程式碼實現一遍可能會加深理解。於是搜了一下回調函式的概念,在百度百科上看到的概念:回撥函式概念   根據上面給的程式碼,我試著敲了一遍,竟然能夠執行出來,我也很是詫異,不過也挺開心的,雖然不是自己寫

Java再學習-簡單函式

   最近在研究Spring原始碼,其中有一個回撥函式的概念,一直出現,而且出現的頻率非常大,小編就查了好多資料,但是總是感覺不太實際,而且不容易理解,小編結合自己的事蹟,結合生活,做了這麼幾段程式碼

C語言函式一個簡單例子

原文地址:http://blog.csdn.net/zgrjkflmkyc/article/details/9198519 回撥函式在linux核心或是微控制器上應用得太多,由此也可以大致判斷,一個初學者和有個有經驗的區別。我轉寫在這兒,希望更多的人能夠看到,一起進步!!

函式簡單例子 C語言

#include <stdio.h> typedef void (*CallBackFun)(char *str); void CallBackFunA(char *ptr) { p

關於函式例子

最近和同事討論C++和C的區別的事情,說到C++裡面有很多的回撥函式,就自己實現了一個簡單的回撥函式的Demo,免得自己忘記回撥函式的用法 #include <stdio.h> //此為註冊回撥函式 typedef int (*callback)( unsigned c

函式-簡單易懂

回撥函式  我們先來看看回調的英文定義:A callback is a function that is passed as an argument to another function and is executed after its parent function has complet

函式 簡單理解

初學js的時候,被回撥函式搞得很暈,現在回過頭來總結一下什麼是回撥函式。   我們先來看看回調的英文定義:A callback is a function that is passed as an argument to another function and is executed af

callback函式和hook鉤子函式簡單理解

回撥函式callback:所呼叫函式執行完,之後呼叫的函式 鉤子函式hook:訊息到達目的地之前,進行攔截,處理訊息 簡單理解: Scrapy中就有使用: 回撥函式,Request執行完下載流程之後,呼叫parse函式來解析頁面 Request(url, callback=s

TLS函式以及反除錯簡單使用

TLS回撥函式以及反除錯簡單使用 0x00  TLS介紹   TLS(Thread Local Storage,執行緒區域性儲存),主要用於給執行緒獨立的傳值,由於執行緒不擁有程序的資源,所以幾個同一程序的幾個執行緒需要獨立賦值時的需要通過TLS技術。每個執行緒建立時都會分配

Qt 學習之路 2(19):事件的接受與忽略(當重寫事件回撥函式時,時刻注意是否需要通過呼叫父類的同名函式來確保原有實現仍能進行!有好幾個例子。為什麼要這麼做?而不是自己去手動呼叫這兩個函式呢?因為我們無法確認父類中的這個處理函式有沒有額外的操作)

版本: 2012-09-29 2013-04-23 更新有關accept()和ignore()函式的相關內容。 2013-12-02 增加有關accept()和ignore()函式的示例。 上一章我們介紹了有關事件的相關內容。我們曾經提到,事件可以依情況接受和忽略。現在,我們就

JS函式--簡單易懂有例項

  初學js的時候,被回撥函式搞得很暈,現在回過頭來總結一下什麼是回撥函式。   我們先來看看回調的英文定義:A callback is a function that is passed as an argument to another function and i

簡單函式指標陣列和函式實現計算器

利用函式指標陣列簡單實現計算器 函式指標陣列:以char *(*p[3])(char *)為例解釋,這是一個數組,陣列名為p,陣列記憶體儲了3個指向函式的指標 這些指標指向一些返回值型別為指向字元的指

多個函式簡單用法

#include <iostream> using namespace std; typedef int (*DEV_MSG_CALLBACK)(char *msg); //int(*CallBack)(char *p):這個函式有一個返回值,型別為int //DEV_MSG_CALLB

js中的函式封裝,函式實現的簡單動畫效果

                   js實現的簡單動畫效果 一、js實現的簡單動畫       1、此程式碼中運用了js中的建構函式,函式封裝,回撥函式,函式內的正負值的判            

函式簡單說明(註釋中已經詳細說明)

第一部分基本的回撥函式寫 // callback.cpp : 定義控制檯應用程式的入口點。 // 回撥函式就是一個通過函式指標呼叫的函式 // #include "stdafx.h" #include <iostream> void OutputSchedu

Java 函式(傳統方法和lambda方法)-一個例子秒懂

背景: 想寫一個工具類 Tool.java ,其中方法 public void readOneLine() 負責一行一行地讀檔案,然後根據不同的業務,對每一行進行不同處理。最後輸出到檔案 out.txt 那麼問題來了,根據不同的業務,進行不同處理 怎麼實現?

函式一個例子

什麼是回撥函式? 回撥函式就是函式形參中包含一個函式指標,實現的時候這個函式指標可以指向它的實現函式。這樣就可以實現,定義函式,讓回撥函式來呼叫,呼叫和呼叫者分離了。 舉個例子: typedef int(*callbackFun)*(char *p)  //定一個回撥函式模

c的函式與java中抽象函式,介面函式,抽象類簡單理解

先了解c語言的回撥函式,舉個簡單例項步步深入,比如A程式提供給B程式使用,但是A想要呼叫B的程式碼,這樣各自不同功能由B實現即可。 例項1A: extern int get_B_data(); void A_data_handle(){ printf("%d\n",get

函式簡單例項

類似於打電話,B給A打電話讓A三秒鐘後提醒他時間到了。一、建立一個介面:CallBack.java(電話)public interface CallBack { public void callMeWhen3sLaterHappened(String info); }二、建