c语言函数指针用法【多种赋值方法】

提供框架模型,具体代码缩略,适合功能模块包装,例子程序为c语言基于TCP的图片发送

1、mdu_TcpClient.h中:

定义结构体

typedef struct
{int  (*init)(char *szIpaddr, char *wTcpPort);                             //初始化tcp客户端//发送数据int  (*sendData)(unsigned int ntskId, unsigned int nsize, long long ntimestamp, char *pStream);    void (*close)(void);}MDU_TCPCLIENT_ARG_T;

2、mdu_TcpClient.c中:

各个子函数的定义,具体内容缩略

int initiation(char *szIpaddr, char *wTcpPort)
{...
}
int sendPack(unsigned int ntskId,unsigned int nsize, long long ntimestamp, char *pStream)
{...
}
void close_tcpclient(void)
{...
}

结构体函数指针赋值

MDU_TCPCLIENT_ARG_T mdu_tcpclient_arg = {.init            = initiation,.sendData        = sendPack,.close           = close_tcpclient,
};

或者如下

MDU_TCPCLIENT_ARG_T mdu_tcpclient_arg = {initiation,sendPack,close_tcpclient,
};

3、client_main.c中

主函数调用

int main(int argc, char *argv[])
{...//函数指针调用if(mdu_tcpclient_arg.sendData(12,1024,1230*1230, PicName)!=1){...}......
}

END

c语言函数指针的多种赋值方法相关推荐

  1. c语言函数指针 的定义方法,C语言 函数指针一(函数指针的定义)

    //函数指针 #include #include #include //函数指针类型跟数组类型非常相似 //函数名就是函数的地址,函数的指针,对函数名进行&取地址操作,还是函数名本身,这是C语 ...

  2. C语言函数指针 和 OC-Block

    C语言函数指针 和 OC-Block 一. C语言函数指针 关于函数指针的知识详细可参考: http://www.cnblogs.com/mjios/archive/2013/03/19/296703 ...

  3. 面试官问你斐波那契数列的时候不要高兴得太早 搞懂C语言函数指针 搜索引擎还可以这么玩? 那些相见恨晚的搜索技巧...

    面试官问你斐波那契数列的时候不要高兴得太早 前言 假如面试官让你编写求斐波那契数列的代码时,是不是心中暗喜?不就是递归么,早就会了.如果真这么想,那就危险了. 递归求斐波那契数列 递归,在数学与计算机 ...

  4. c语言指针赋值指针变量赋值吗,C语言_指针变量的赋值与运算,很详细

    指针变量的赋值 指针变量同普通变量一样,使用之前不仅要定义说明, 而且必须赋予具体的值.未经赋值的指针变量不能使用, 否则将造成系统混乱,甚至死机.指针变量的赋值只能赋予地址, 决不能赋予任何其它数据 ...

  5. c语言--函数指针数组

    c语言–函数指针数组 1.指针数组的概念 本质是数组,数组的每一个元素是一个指针变量: 2.指针数组的定义方法 类型说明符 *数组名[元素个数] void test() {int a=10,b=20, ...

  6. C语言函数指针(结构体函数指针)

    文章目录 20211126 这篇讲得好 参考文章1:C语言函数指针(指向函数的指针)详解 函数指针的定义形式: returnType (*pointerName)(param list); 示例代码: ...

  7. C语言函数指针的应用——自制谐波分析软件

    文章目录 函数指针简介 格式介绍 颜色头文件 计算机仿真 使用说明 完整代码 部分效果图 函数指针简介 如果在一个大型C语言程序中要反复调用函数,而调用的函数又不明确时,函数指针就是一个非常有用的东西 ...

  8. c语言函数指针封装函数,C语言之函数指针、回调函数的使用

    一.背景 首先看下如下代码,这个定义是放在头文件的,在程序中tCdrvCallbackFkt也定义了另一个变量,而且括号后面还跟定义了几个变量,不理解这个定义. typedef void (PUBLI ...

  9. c语言函数中使用指针变量,C语言函数指针变量

    C语言函数指针变量 导语:在C语言中规定,一个函数总是占用一段连续的内存区, 而函数名就是该函数所占内存区的首地址. 这就是函数指针变量.下面是相关介绍,仅供参考! 在C语言中规定,一个函数总是占用一 ...

最新文章

  1. python 中文字转拼音
  2. 语言学与计算机应用学什么,2016考研专业:语言学及应用语言学
  3. 力扣——所有可能的满二叉树
  4. elasticSearch入门到java操作api一套搞定
  5. Post/Redirect/Get模式防止表单重复提交
  6. linux相对路径列出目录文件,linux – UNIX:列出目录中具有相对路径的文件
  7. 完美解决IE8有两个进程的问题
  8. Redis:09---Hash对象
  9. 最佳圆角字体,设计师的最爱
  10. oracle 密码忘记 找回密码
  11. 双料大奖 | 奇点云获评「年度数字化创新最佳实践奖」「年度数字化服务最值得信赖品牌奖」
  12. A股:我要加区块链,监管:你可消停会
  13. Win32计算器:输入出生年月日,输出周岁,星座以及距离下一次生日的天数
  14. 解锁商业新模式,神奇AR为IP内容“添把火”
  15. 【Practical】CSDN图片去除水印
  16. 什么百度霸屏?百度霸屏是什么意思?
  17. 树 —— 线索二叉树
  18. php是舍五入,php四舍php四舍五入五入函数 floor函数、ceil函数、round
  19. 万能  随机森林回归 补缺函数
  20. java生成excel并输出到浏览器下载

热门文章

  1. ubuntu打不开了怎么办_Ubuntu 16.04的Software center打不开的解决办法
  2. 史上最全阿里 Java 面试题总结及答案
  3. 2015年高教社杯全国大学生数学建模竞赛A题 “互联网+”时代的出租车资源配置
  4. SubString 函数总结
  5. SQL leetcode 刷题答案(二)
  6. navicat 解析sql_使用 Navicat 查询分析器优化查询性能(第 2 部分)
  7. Django 4.0文档学习(一)
  8. Linux修改默认登录端口22
  9. 汇编:shl, shr 逻辑移动指令
  10. 我理解的云桌面(或桌面云)