工程化编程实战callback接口学习笔记

一、

 

1. 在menu头文件加上 #include 后,编译运行  gcc -o menu .\linktable.c .\menu.c ,会在目录下生成menu.exe文件 

工程化编程实战callback接口学习笔记_第1张图片

 

2. 运行结果:

工程化编程实战callback接口学习笔记_第2张图片

 

 

3. 从输出结果定位到源文件代码处:

工程化编程实战callback接口学习笔记_第3张图片

 

 

再到FindCmd:

工程化编程实战callback接口学习笔记_第4张图片

 

 其中,SearchCondition是函数指针,定义如下,功能是比较节点中的cmd与输入cmd的值:

工程化编程实战callback接口学习笔记_第5张图片

再到SearchLinkTableNode函数,其中condition是指向一个函数,这个函数返回int,接受参数为tLinkTableNode的指针,在这里指向的是SearchCondition,
功能是循环查找直到链表结尾,但是可以发现,其while循环,若条件不成立(即 pNode == pLinkTable->pTail
),则直接返回NULL,不再检查尾结点,所以只要修改语句检查一下尾节点即可。

 工程化编程实战callback接口学习笔记_第6张图片

 

 修改如下:

工程化编程实战callback接口学习笔记_第7张图片

 

 

运行,成功:

工程化编程实战callback接口学习笔记_第8张图片

 

 

二、

回调函数:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。

 

你可能感兴趣的:(工程化编程实战callback接口学习笔记)