资源:http://pan.baidu.com/s/1pJ0qAIv
显示报错,在这个区域内未声明。添加头文件String.h
上面显示不能打开输出文件,而后我到工程目录文件夹中找,并无生成menu.exe二进制文件。
而后我直接在终端利用gcc命令生成menu.exe
gcc -o menu menu.c linktable.c
按照错误提示,我在工程目录下新建一个build文件夹,而后将gcc生成得menu.exe文件粘贴到这里,发现仍是有别的错误。
因而我放弃了,仍是用终端命令运行程序。
查看结果,使用quit发现没有退出程序,而是提示worng cmd,显然是错误的。函数
2ui
gcc -g linktable.c menu.c -o menu gdb menu ```     因为返回了NULL,  因此在menu.c中判断语句会打印出This is a wrong cmd!  查看源代码获得的上图,可知quit在链表的最后一个节点。   运行成功! #### 3、分析callback接口的运行机制,总结callback接口设计的方法 #### 3 关于回调函数的原理,我在这里连接一篇知乎:https://www.zhihu.com/question/19801131 在这个程序中 ``` tDataNode* FindCmd(tLinkTable * head, char * cmd) { return (tDataNode*)SearchLinkTableNode(head,SearchCondition); } ``` 其中SearchLinkTableNode(head,SearchCondition)函数就是个回调函数,head是个结构体变量,而SearchCondition是个函数地址。