C语言基础实例——《使用回调函数》

简介: C语言基础实例——《使用回调函数》

回调函数设计

##回调函数——宏定义使用
#include <stdio.h>
#include <stdlib.h>
typedef struct ase_msg ase_msg_t;
struct ase_msg
{
    int num;
    float high;
    int age;
};
// typedef int(*func_cb)(int a, int b) func_cb_t; --error use
// 使用宏定义定义回调函数形式
#define CB(func_b)  int(*func_b)(int a, int b)
typedef struct cb_test
{
    int a;
    int b;
    int (*fun_cb)(int a, int b);
    CB(fun_cb_2);
}cb_test_t;
int Add_num(int a, int b){//cb_1
    return a + b;
}
int Num_add(int a, int b){//cb_2
    return a + b + 10;
}
int main(){
    cb_test_t ts;
    ase_msg_t ase;
    ts.a = 10;
    ase.num = 1;
    ase.high = 0.25;
    ase.age = 17;
    ts.b = 20;
    ts.fun_cb = Add_num;//赋值回调函数
    ts.fun_cb_2 = Num_add;
    int c = 0;
    c = ts.fun_cb(ts.a, ts.b);
    ase.num = ts.fun_cb_2(ts.a, ts.b);
    printf("cb->[%d]\n", c);
    printf("ase.num =[%d],ase.high=[%f]ase.age=[%d]\n", ase.num, ase.high, ase.age);
    return 0;
}
相关文章
|
6月前
|
搜索推荐 C语言
c语言从入门到实战——回调函数与qsort的讲解和模拟实现
回调函数是一个函数,它作为参数传递给另一个函数,并且能够在该函数内部被调用。在C语言中,回调函数通常被用于实现事件处理和排序算法中。 `qsort`是C标准库中的一个排序函数,它可以对任意类型的数组进行排序。`qsort`需要三个参数:要排序的数组、数组元素的个数和一个指向回调函数的指针。回调函数必须满足两个条件:能够比较数组中的元素,返回一个整数表示它们之间的大小关系;并且它应该能够被`qsort`函数调用。 回调函数是一种在编程中广泛使用的技术,它允许一个函数作为参数传递给另一个函数,并在需要时被调用。这种机制使得代码更加灵活和可重用。
63 0
|
6月前
|
Ubuntu 编译器 Linux
C语言中经典的结构体和联合体共用实例
C语言中经典的结构体和联合体共用实例
57 0
|
6月前
|
存储 数据处理 C语言
C语言高级应用探讨与实例
C语言高级应用探讨与实例
55 1
|
6月前
|
编译器 C语言
C语言进阶⑪(指针上)(知识点和对应练习)回调函数模拟实现qsort。(下)
C语言进阶⑪(指针上)(知识点和对应练习)回调函数模拟实现qsort。
42 0
|
5月前
|
SQL 数据库 C语言
【sqlite的C语言访问接口】执行SQL语句的接口------sqlite3_exec回调函数的使用
【sqlite的C语言访问接口】执行SQL语句的接口------sqlite3_exec回调函数的使用
|
6月前
|
算法 搜索推荐 程序员
C语言中的函数指针和回调函数
C语言中的函数指针和回调函数
42 2
|
6月前
|
C语言
C语言循环结构程序设计详解及代码实例
C语言循环结构程序设计详解及代码实例
149 0
|
6月前
|
存储 C语言 索引
C语言一维数组与二维数组详解及代码实例
C语言一维数组与二维数组详解及代码实例
63 0
|
6月前
|
程序员 C语言
使用指针变量作为函数参数的C语言程序实例
使用指针变量作为函数参数的C语言程序实例
71 0
|
6月前
|
存储 C语言 索引
C语言字符数组深入解析与应用实例
C语言字符数组深入解析与应用实例
79 0