三、回调结构体

作者:解琛
时间:2020 年 12 月 18 日

#include <stdio.h>
#include <string.h>
#include <stdlib.h>struct student
{int num;char *name;char *(*isMe)(char *myName, char *name, unsigned char nameLen);
};char *testName = (char *)("麦琪");char *isMe(char *myName, char *name, unsigned char nameLen)
{char *word = "";if(name == myName){word = "对,那就是我!";}else{word = "你认错人了,我不叫吉若姆~";}return word;
}int main()
{struct student  maggie;struct student* jerome = (struct student*)&maggie;char *res = "";jerome->isMe = isMe;printf("Hello world %s.\n", testName);printf("address: %ld.\n", (long int)(&testName));printf("str len: %ld.\n", (long int)(strlen(testName)));maggie.name = "麦琪";printf("jerome's name is: %s.\n", jerome->name);res = jerome->isMe((char *)("吉若姆"), jerome->name, sizeof(jerome->name));printf("你是吉若姆吗?\n%s\n", res);res = maggie.isMe((char *)("麦琪"), maggie.name, strlen(maggie.name));printf("你是麦琪吗?\n%s\n", res);return 0;
}

执行结果如下。

xiechen@xiechen-Ubuntu:~/6.本地实验中心/3.c$ gcc 2.注册回调结构体.c
xiechen@xiechen-Ubuntu:~/6.本地实验中心/3.c$ ./a.out
Hello world 麦琪.
address: 94649651093520.
str len: 6.
jerome's name is: 麦琪.
你是吉若姆吗?
你认错人了,我不叫吉若姆~
你是麦琪吗?
对,那就是我!

[C] 三、回调结构体相关推荐

  1. c语言 结构体_C语言 技能提升 系列文章 (三)结构体

    今天,来跟大家聊一聊C语言中的结构体. 在C语言的各种数据类型中,结构体最特别,因为它是可以被程序员定义的,它的特点是非常的灵活. 定义 struct defined_name{ type_name ...

  2. 第16周实践项目三——点结构体(2)

    问题及代码 (2)请编写程序,输入两点p1和p2的坐标,输出两点之间的距离,以及p1关于x轴的对称点,p2关于原点的对称点,运行结果如下图所示: /*烟台大学计算机学院 2016 作者: 马春澎完成日 ...

  3. C++总结笔记(三)—— 结构体

    一.概念 结构体是一种可以自定义数据类型的类型格式,一般用struct关键字进行定义. //创建食物的结构体 struct Food {//属性名string name; //名字int Price; ...

  4. Java JNA (三)—— 结构体使用及简单示例

    JNA简介 JNA全称Java Native Access,是一个建立在经典的JNI技术之上的Java开源框架(https://github.com/twall/jna).JNA提供一组Java工具类 ...

  5. 【C 语言】结构体 ( 结构体类型定义 | 结构体类型别名 | 声明结构体变量的三种方法 | 栈内存中声明结构体变量 | 定义隐式结构体时声明变量 | 定义普通结构体时声明变量 )

    文章目录 一.结构体类型定义 二.结构体类型别名 三.结构体类型变量声明 1.使用结构体类型 ( 别名 ) 声明变量 2. 定义隐式结构体时声明变量 3.定义普通结构体时声明变量 二.完整代码示例 一 ...

  6. mysql文件结构体_MySQL InnoDB文件相关的三个重要结构体

    我们使用mysql常使用innodb存储引擎,它包括两种,一种是innobase,另外一种是innodb plugin.今天主要介绍innodb plugin的file I/O操作,innodb pl ...

  7. 一文搞懂结构体的定义及实际使用

    大家好,我是无际,无实战不理论. 今天给大家讲一下结构体. 大家可能很好奇,为什么这种文章教程泛滥了,我还要拿出来讲. 相信无际的铁粉都知道,我分享的干货和经验出发点是实际产品应用. 脱离产品你所学的 ...

  8. c 结构体 不允许使用不完整的类型_C语言必学知识点 quot;结构体quot;详细解析!...

    结构体是经常用到的数据类型,使用频率不亚于指针,所以需要重视,不过用法非常简单. 一.什么是结构体 ☀ 在前面的时候已经介绍了C语言中的数组,用法跟其他语言差不多.当一个整体由多个数据构成时,我们可以 ...

  9. 【Go语言】【12】GO语言的结构体

    当我第一次接触到C语言时,就对结构体投入了极大的兴趣,认为这个东西以后大有作为,后来接触Java.C++,面向对象编程中的对象进入我的视线,经过了这么多年的磨练,回过头来再看结构体依旧是那么亲切:同时 ...

最新文章

  1. java加载c库阻塞_【死磕Java並發】-----J.U.C之阻塞隊列:DelayQueue
  2. python3 开发面试题(collections中的Counter)6.7
  3. nth_element(a+1 , a + m, a + n+1);
  4. 终于有人把大数据架构讲明白了
  5. linux系统win,Windows10安装运行linux系统的方法
  6. 安装oh-my-zsh后terminal/iterm命令行终端前面用户计算机名消失之如何出现
  7. 这『六本』电子书能帮助你成为优秀的程序员(含下载地址)
  8. java list 赋值jsp,在Struts中使用JavaBean和List(多行数据)类型属性-JSP教程,Java技巧及代码...
  9. python calendar.isleap_calendar在python3时间中常用函数举例详解
  10. 使用gooflow和easyui做的一个工作流程配置图
  11. C语言 从入门到放弃
  12. 尚学堂第十一章多线程习题答案
  13. 百度爬虫robots.txt文件规范
  14. Matlab画图并高清输出到word
  15. 使用Beep()函数发出指定音高 (一)
  16. 优质的服务器机房有哪些表现
  17. Python 改写__str__
  18. Learning AV Foundation(三)AVAudioRecorder
  19. 使用redis实现秒杀功能
  20. day16-简单网页数据爬取

热门文章

  1. frame 和 frame属性
  2. 物业生活缴费小程序开发制作
  3. 关于h5网站常用的样式设置
  4. 微软是智能手表市场鼻祖:10年前推出SPOT
  5. AIDA64 Extreme Edition (至尊版) Business Edition (商业版) 1.85.1600 多国语言版下载及有效序列号...
  6. 英国第七批36颗互联网卫星升空
  7. 基于npm的bcrypt加密详解
  8. Compose 设置颜色的三种方式
  9. 温度传感器如何成为漏水监测报警系统的
  10. typescript的类class 和 类的访问修饰符