C语言之在结构体里面放很多函数指针

举报
chenyu 发表于 2021/07/27 01:35:05 2021/07/27
【摘要】 1 原因 看了open ssl代码里面很多在结构体里面放很多函数指针,然后再来调用,这样比较规范和统一         2 代码实现 #include <stdio.h>#include <assert.h>#include <stdlib.h>#include <string.h...

1 原因

看了open ssl代码里面很多在结构体里面放很多函数指针,然后再来调用,这样比较规范和统一

 

 

 

 

2 代码实现


  
  1. #include <stdio.h>
  2. #include <assert.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <pthread.h>
  6. typedef struct key_info
  7. {
  8. int (*init)(struct key_info *info);
  9. int (*set_name)(struct key_info *info, const char *name);
  10. int (*get_name)(struct key_info *info, char name[], int size);
  11. pthread_mutex_t lock;
  12. char name[128];
  13. int (*fun)(struct key_info *info, int x, int y);
  14. }KeyInfo;
  15. static int init(KeyInfo *info);
  16. static int set_name(KeyInfo *info, const char *name);
  17. static int get_name(KeyInfo *info, char name[], int size);
  18. static int add(int x, int y);
  19. static int add(KeyInfo *info, int x, int y)
  20. {
  21. return x + y;
  22. }
  23. static int init(KeyInfo *info)
  24. {
  25. assert(info != NULL);
  26. memset(info->name, 0, sizeof(info->name));
  27. info->init = init;
  28. info->set_name = set_name;
  29. info->get_

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/82532482

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。