页首Html代码

返回顶部

C语言零碎记录之typedef 和 hashtable

现在用C语言,感觉很难写出高质量的代码,我觉得这个和编程方法,以及编程思想有许多关系,百度也找不到什么好的资料,有一些书 unix高级编程 ek2k有pdf的,应该不错.

现在呢,我就通过看别人的代码来提高自己吧...现在在看nginx 1.1.15的源码,源码比较庞大,我不是为了研究它而去看,而是 看其中的编程方法,以及关于 多线程 /进程 ,数据通信 相关的代码.

其中看到这个:

typedef time_t (*ngx_path_manager_pt) (void *data);

不知道 typedef 是不是多余??? 没有他 这就是一个 声明 而已么?

typedef time_t (*ngx_path_manager_pt) (void *data);

time_t (*ngx_path_manager_pt) (void *data); 有什么区别呢??

 

因为一般typedef用的比较多的是: typedef struct{ xxx} s_t; 最后的s_t可以直接来用... 那这个呢???有新的类型 可以直接来用么???

这本就是个 函数指针啊...关键 其 后面 没有 多余的 新的类型的名称 ,那这个 typedef 还有什么用呢???

是我太愚昧了,typedef太灵活了(或许我们应该看看 GCC中关于typedef的代码,来了解typedef;

这个 ngx_path_manager_pt 就相当于 新的类型了.. 原来 新类型 不一定 要在最后面的....太灵活了...

所以 下面 就有两个 指针函数

这就是传说中 用c语言写出面对对象的一些方法...结构体 也可以当做类 调用方法来使用.

 

哈希表HashTable

==============

现在 还想研究 哈希表 感觉 其实 就是 数组的 神奇用法而已 ...

其和 单链表 就查找方式 不一样,,其他 都一样了....

最简单的就是根据 数字 作为值来进行处理了.

posted @ 2012-02-22 15:09  ayanmw  阅读(376)  评论(0编辑  收藏  举报

页脚Html代码