[C] 三、回调结构体
三、回调结构体
作者:解琛
时间: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] 三、回调结构体相关推荐
- c语言 结构体_C语言 技能提升 系列文章 (三)结构体
今天,来跟大家聊一聊C语言中的结构体. 在C语言的各种数据类型中,结构体最特别,因为它是可以被程序员定义的,它的特点是非常的灵活. 定义 struct defined_name{ type_name ...
- 第16周实践项目三——点结构体(2)
问题及代码 (2)请编写程序,输入两点p1和p2的坐标,输出两点之间的距离,以及p1关于x轴的对称点,p2关于原点的对称点,运行结果如下图所示: /*烟台大学计算机学院 2016 作者: 马春澎完成日 ...
- C++总结笔记(三)—— 结构体
一.概念 结构体是一种可以自定义数据类型的类型格式,一般用struct关键字进行定义. //创建食物的结构体 struct Food {//属性名string name; //名字int Price; ...
- Java JNA (三)—— 结构体使用及简单示例
JNA简介 JNA全称Java Native Access,是一个建立在经典的JNI技术之上的Java开源框架(https://github.com/twall/jna).JNA提供一组Java工具类 ...
- 【C 语言】结构体 ( 结构体类型定义 | 结构体类型别名 | 声明结构体变量的三种方法 | 栈内存中声明结构体变量 | 定义隐式结构体时声明变量 | 定义普通结构体时声明变量 )
文章目录 一.结构体类型定义 二.结构体类型别名 三.结构体类型变量声明 1.使用结构体类型 ( 别名 ) 声明变量 2. 定义隐式结构体时声明变量 3.定义普通结构体时声明变量 二.完整代码示例 一 ...
- mysql文件结构体_MySQL InnoDB文件相关的三个重要结构体
我们使用mysql常使用innodb存储引擎,它包括两种,一种是innobase,另外一种是innodb plugin.今天主要介绍innodb plugin的file I/O操作,innodb pl ...
- 一文搞懂结构体的定义及实际使用
大家好,我是无际,无实战不理论. 今天给大家讲一下结构体. 大家可能很好奇,为什么这种文章教程泛滥了,我还要拿出来讲. 相信无际的铁粉都知道,我分享的干货和经验出发点是实际产品应用. 脱离产品你所学的 ...
- c 结构体 不允许使用不完整的类型_C语言必学知识点 quot;结构体quot;详细解析!...
结构体是经常用到的数据类型,使用频率不亚于指针,所以需要重视,不过用法非常简单. 一.什么是结构体 ☀ 在前面的时候已经介绍了C语言中的数组,用法跟其他语言差不多.当一个整体由多个数据构成时,我们可以 ...
- 【Go语言】【12】GO语言的结构体
当我第一次接触到C语言时,就对结构体投入了极大的兴趣,认为这个东西以后大有作为,后来接触Java.C++,面向对象编程中的对象进入我的视线,经过了这么多年的磨练,回过头来再看结构体依旧是那么亲切:同时 ...
最新文章
- java加载c库阻塞_【死磕Java並發】-----J.U.C之阻塞隊列:DelayQueue
- python3 开发面试题(collections中的Counter)6.7
- nth_element(a+1 , a + m, a + n+1);
- 终于有人把大数据架构讲明白了
- linux系统win,Windows10安装运行linux系统的方法
- 安装oh-my-zsh后terminal/iterm命令行终端前面用户计算机名消失之如何出现
- 这『六本』电子书能帮助你成为优秀的程序员(含下载地址)
- java list 赋值jsp,在Struts中使用JavaBean和List(多行数据)类型属性-JSP教程,Java技巧及代码...
- python calendar.isleap_calendar在python3时间中常用函数举例详解
- 使用gooflow和easyui做的一个工作流程配置图
- C语言 从入门到放弃
- 尚学堂第十一章多线程习题答案
- 百度爬虫robots.txt文件规范
- Matlab画图并高清输出到word
- 使用Beep()函数发出指定音高 (一)
- 优质的服务器机房有哪些表现
- Python 改写__str__
- Learning AV Foundation(三)AVAudioRecorder
- 使用redis实现秒杀功能
- day16-简单网页数据爬取