- 博客(5)
- 资源 (7)
- 收藏
- 关注
原创 你所不知道的 const
1. const对象的初始化 const 常量是不可修改的,也就是说only read,例如 const int nBuffSize = 512; nBuffSize = 0; //error 就是因为const 常量不能修改,所以定义时必须初始化 2. const对象的文件局部性 默认在全局作用域中定义的非const变量可以在整个程序中访问,例如 //file1.c int nC
2014-01-14 10:40:48 1180
原创 Linux 内核中宏 offsetof 与 container_of 的含义
在linux源码中经常会使用用成员指针得到当前结构体变量的指针,就是使用container_of,在定位源代码会看到如下: #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) /** * container_of - cast a member of a structure out to the containing
2014-01-13 17:32:32 1307
原创 服务器IO模型之Select
阻塞与非阻塞: widows下创建套接字默认都是阻塞型的,阻塞型的好处是处理简单,理解容易,但是处理多个套接字时,就必须创建多个线程,即一个连接socket使用一个线程。而非阻塞模式比如在处理发送和接收数据时,会立即返回,不管是否有有效的数据,这就需要不断测试返回代码,来确定套接字在什么时候可读/可写,也就是确定网络事件何时发生,比如中断默认就是一种事件触发型,比如菜单按钮也是事件触发性,但
2014-01-09 23:04:41 1599
原创 二叉树先序遍历的非递归算法
在前面一文,说过二叉树的递归遍历算法(二叉树先根(先序)遍历的改进 ),此文主要讲二叉树的非递归算法,采用栈结构 总结先根遍历得到的非递归算法思想如下: 1)入栈,主要是先头结点入栈,然后visit此结点 2)while,循环遍历当前结点,直至左孩子没有结点 3)if结点的右孩子为真,转入1)继续遍历,否则退出当前结点转入父母结点遍历转入1) 先看符合此思想的算法: int PreO
2014-01-06 14:58:29 12099 1
原创 顺序存储的栈
栈定义:仅限在表尾进行插入和删除的线性表 栈的特点: 1)一般来说能在表尾进行进栈和出栈的数据 2)先进后出(last in first out ) 3)栈会有栈顶,栈底,通常栈底为高地址,栈顶为高地址,如下图所示
2014-01-06 13:54:07 1122
Mini2440 Nor Flash 芯片手册(S29AL016J_00)
2013-06-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人