随笔分类 -  c

通用双向链表C实现
摘要:注意: 1.封装函数,使用者不需要要了解底层细节,我们把内部使用的函数用static 声明. 2.我们存储的数据类型为void *, 由用户决定函数类型 3.代码尽可能减少代码量#ifndef DLINK_H#define DLINK_H//用户应该只操作Dlink,避免操作节点.不需要了解细... 阅读全文

posted @ 2014-04-14 22:25 敷衍。 阅读(494) 评论(0) 推荐(0)

回调函数
摘要:当我们的代码量比较大的时候,需要思考一个问题,是否需要合并重复代码. 这里用链表举例.比如:我们有两个需求 1.求和 2.求最大值 对于链表来说,这两个函数均会遍历链表,那么我们可以把遍历链表的方法提取出来,因为这个方法很常用,我还可以用来排序的时候用,所以如果我有很多函数用到遍历的... 阅读全文

posted @ 2014-04-14 22:04 敷衍。 阅读(397) 评论(0) 推荐(0)

函数指针
摘要:首先,需要说明的是,一个函数名代表的是一个地址,即一个函数的首地址。 知道了这一点便很容易理解函数真正的意义了。 void Fun( int a );void main() { int (*pFun)(int); //这里定义了一个函数指针pFun pFun = Fun; //这里传值,可以任意形式如 pFun =&Fun,之类的,最后编译器都会认为是一个地址 (*pFun)(2); } void Fun( int a ){ return;} 接着,我定义出一种函数指针类型,方便我操作,比如我可以这样定义我的类型... 阅读全文

posted @ 2014-04-11 16:30 敷衍。 阅读(128) 评论(0) 推荐(0)