📄 list_demo.c
字号:
// 链表中元素的结构
typedef struct _n20_directory_desc
{
// 注意:类型为as_list的成员必须为结构体的第一个成员。
as_list list;
TCHAR path[PATH_SIZE];
}n20_directory_desc;
// 初始化链表头指针
LIST_HEAD(pend_directory_list);
// 向链表中加入一个元素,插入到尾部,实现的是队列
void add_new_dir(n20_directory_desc *pDir)
{
pNewDirDesc = (n20_directory_desc *)malloc(sizeof(n20_directory_desc));
memset(pNewDirDesc, 0, sizeof(n20_directory_desc));
list_add_tail(&pNewDirDesc->list, &pend_directory_list);
}
void use_list_demo(void)
{
n20_directory_desc *pUseDir;
struct list_head *ptemp;
// 判断链表中是否有元素,取出其中第一个元素使用
while(list_empty(&pend_directory_list) != TRUE)
{
ptemp = &pend_directory_list;
// 注意下列函数的第二个参数为链表中元素的结构体名称,第三个参数为结构体中类型为"as_list"的成员的名称。
pUseDir = list_entry(ptemp->next, n20_directory_desc, list);
// TODO: 加入使用pUseDir指向的数据的代码。
demo_use_item(pUseDir);
// 使用完后,从链表中删除此项
list_del(&pUseDir->list);
free(pUseDir);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -