Linux源码中链表的声明和初始化
来源:互联网 发布:集思宝a5软件 编辑:程序博客网 时间:2024/05/16 06:20
(1)使用LIST_HEAD宏在编译时静态初始化
/*list_head数据结构体成员next和pre初始化×/#define LIST_HEAD_INIT(name) { &(name),&(name) }
#define LIST_HAED(name) struct list_head name = LIST_HEAD_INIT(name)
/*等价于define LIST_HAED(name) struct list_head name = { &(name),&(name) }*/
LIST_HEAD(mylist); 展开宏:struct list_head mylist = { &(mylist).&(mylist) };
LIST_HEAD(mylist); 编译阶段就定义一个变量并初始化(编译时静态初始化),但作用等同于以下更常用的运行时初始化的写法:
struct list_head mylist;
INIT_LIST_HEAD(&mylist);
(2)使用INIT_LIST_HEAD()在运行时进行初始化
static inline void INIT_LIST_HEAD(struct list_head *list)
{
list->next = list;
list->next = list;
}
struct list_head list;
INIT_LIST_HEAD(&list);
0 0
- Linux源码中链表的声明和初始化
- Struct的声明和初始化
- 变量的定义,初始化和声明
- 变量的定义,初始化和声明
- 变量的定义,初始化和声明
- 关于C++声明和初始化的问题
- Java二维数组的声明和初始化
- Cocos2dx static变量的声明和初始化
- java 数组的声明和初始化
- java对象数组的声明和初始化
- 函数的定义、声明、初始化和赋值
- 集合对象的声明和初始化
- 【Java】Java数组的声明和初始化
- 变量的定义,初始化和声明
- Java数组的声明和初始化
- Java数组的声明和初始化
- 声明和初始化变量
- 声明和初始化变量
- POJ 1080 Human Gene Functions (类似LCS)
- 剑指offer 顺时针打印矩阵
- 关于Lua中const型变量或者常量的实现
- 怎么样学习Java/ 如何学好Java
- linux内核中的基本数据结构和算法
- Linux源码中链表的声明和初始化
- 解决ScrollView嵌套ListView和GridView冲突的方法
- Python保存时提示“SyntaxError: Non-ASCII character '\xe8' in file”
- linux常用命令总结
- 21分钟 MySQL 入门教程
- glDrawArrays与glDrawElements的功能与区别
- 科研是条不归路
- Sql Server 2005/2008中把一个数据库中的表完整复制到另一个数据库
- IOS 创建动画提示框