本文主要是介绍函数指针基础及应用(正向调用、动态库升级成框架),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、数组指针
二维数组。
2、函数指针
函数指针做函数参数的思想精华——调用者任务的人 和 实现任务的人 解耦合
(回调函数的本质:提前做了一个协议的约定(把函数的参数、函数返回值提前约定))
(C++编译器通过多态的机制(提前布局vptr指针和虚函数表,找虚函数入口地址来实现))
1)基本功能演示:
#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <string.h>
#include <stdio.h>//=====> 函数指针做函数参数的思想精华:
// 调用者任务的人 和 实现任务的人 解耦合int myadd(int a, int b) //原来子任务
{int c = 0;c = a + b;printf("func myadd() do \n");return c;
}int myadd2(int a, int b) //后续子任务
{int c = 0;c = a + b;printf("func myadd2() do \n");return c;
}int myadd3(int a, int b) //后续子任务
{int c = 0;c = a + b;printf("func myadd3() do \n");return c;
}int myadd4(int a, int b) //后续子任务
{int c = 0;c = a + b;printf("func myadd4() do \n");return c;
}// int (*myFuncVar)(int a, int b)——函数指针变量——返回类型为int,两个int型变量
int myMianOp( int(*myFuncVar)(int a, int b) )
{myFuncVar(10, 20); //间接的调用 myadd函数return 0;
}void main()
{myMianOp(myadd); //调用者myMianOp(myadd2); //调用者myMianOp(myadd3); //调用者myMianOp(myadd4); //调用者
}
2)函数指针应用一——正向调用:甩开C++编译器,自己找到DLL中函数的地址,然后去调用函数
这篇关于函数指针基础及应用(正向调用、动态库升级成框架)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!