最近一个项目要用到这个东西,发现确实很好用,就写了个最简单的例子,希望对大家有用,对linux下面的编程了解实在太少,正在努力学习中,学生嘛,慢慢来,不急躁。
#define __KERNEL__ //这样才能使用list.h,具体请看list.h
#include "list.h" /*由于我的机器上没有list.h,所以我拷贝了一个,如果你机器上有,应该是加#include <linux/list.h>*/
#include <stdio.h>
#include <string.h>
#define MAX_USER_LEN 32
#define MAX_PAS_LEN 32
#define MAX_SERVER_LEN 1024
typedef struct server_detect_ftp
{
struct list_head list;
char server[MAX_SERVER_LEN];
int port;
char username[MAX_USER_LEN];
char password[MAX_PAS_LEN];
}server_detect_ftp_t;
int main(void)
{
struct list_head head;//头部
server_detect_ftp_t ftp_link;
server_detect_ftp_t ftp_link1;
server_detect_ftp_t *entry;
struct list_head *p;
INIT_LIST_HEAD(&head);//初始化头部
strcpy(ftp_link.server,"www.163.com");
ftp_link.port=34;
strcpy(ftp_link.username,"good");
strcpy(ftp_link.password,"good");
strcpy(ftp_link1.server,"www.163.com");
ftp_link1.port=34;
strcpy(ftp_link1.username,"good");
strcpy(ftp_link1.password,"good");
INIT_LIST_HEAD(&head);
list_add(&ftp_link.list,&head);
list_add(&ftp_link1.list,&head);//添加链表
list_del(&ftp_link1.list);//删除链表
list_for_each(p,&head)//遍历
{
entry=list_entry(p,struct server_detect_ftp,list);//读取某个值
printf("%s\n",entry->username);
}
return 0;
}
list_head在实际应用中很有用,而且他的设计非常有意思,大家可以去list.h中看他们的宏定义,了解他是如何实现的,关键就是了解他是如何读取具体的数据,其实就是一个地址的获取。
分享到:
相关推荐
ALV LIST列头合并实例
Linux中的内核链表实例详解 链表中一般都要进行初始化、插入、删除、显示、释放链表,寻找节点这几个操作,下面我对这几个操作进行简单的介绍,因为我的能力不足,可能有些东西理解的不够深入,造成一定的错误,请...
C ++使用模板写的一个List template class List { private: struct Node { T data; Node *next; }; //head Node *head; //size int length; //process Node *p; //temp Node *q; public: List() {...
48 </welcome-file-list> 49 50 51 52 <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri> 53 <taglib-location>/WEB-INF/tld/c.tld 54 55 56 <taglib-uri>...
本文实例讲述了jQuery使用attr()方法同时设置多个属性值的用法。分享给大家供大家参考。具体如下: 下面这个演示例子可通过点击按钮实现修改链接与提示的功能。 <!DOCTYPE html> <html> <head> ...
代码实例如下: <!DOCTYPE html> <html> <head> <meta charset= utf-8> <meta name=author content=//www.jb51.net /> <title>子选择器</title> <style type=text/css>...
/* Form the free list */ for (blk = 0 ; blk < ttl_blks - 1; blk++) { heap->link = heap + 1 ; heap++ ; } heap->link = 0 ; /* Establish end marker */ heap = btm_of_heap ; /* Restore ...
//一个pcap实例 char errbuf[PCAP_ERRBUF_SIZE]; //错误缓冲区 unsigned char *mac; //本机MAC地址 unsigned char *packet; //ARP包 unsigned long fakeIp; //要伪装成的IP地址 pcap_addr_t *pAddr; //网卡...
P2P视频播放器 详细制作实例 1. 说明 1) 客户向服务器发送请求, 每个请求的长度不定. 请求的长度在第一个INT中指定. 2) 每个服务器通常会向多种客户提供服务, 例如, TS要同时向CP, NP提供服务, CP要向NP和其他CP...
9.6.2. List of All Constants 9.6.3. Self-Defined OUTPUT Formats with ISO 9.6.4. Self-defined OUTPUT formats using PHP's date() format specifiers 9.7. Working examples 9.7.1. Checking dates 9.7.2....
本文实例讲述了Python3实现的判断环形链表算法。分享给大家供大家参考,具体如下: 给定一个链表,判断链表中是否有环。 方案一:快慢指针遍历,若出现相等的情况,说明有环 # Definition for singly-linked list. ...
实例如下所示: <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8> <title>Title</title> <style> *{padding: 0px;margin: 0px;} li{ width: 80px;height...
这章内容比较简单,直接上页面代码: 代码如下: <%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”Recipe6.aspx.cs” Inherits=”Recipe6″ %> <!DOCTYPE html PUBLIC ... <head runat=”s
微信小程序 上传头像的实例详解 最近在做微信小程序上传头像和上传照片功能就随手写一下代码: 上传头像html: <view class=edit-list> <text class=list-name>头像 <image class=head-portrait src={{...
head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jquery广告无缝轮播代码演示</title> <style type="text/css"> li{ list-style:none; } ....
C语言数据结构之循环链表的简单实例 实例代码: # include # include typedef struct node //定义链表中结点的结构 { int code; struct node *next;...LinkList createList(int n) { LinkList head; //头结
本文实例讲述了jquery实现的树形目录。分享给大家供大家参考。具体实现方法如下: <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8> <title>Document</title> <...
当然,别忘了,在head中预先载入jquery库文件。 CSS 我们需要将商品图片进行排列,以及设置分页条样式,当然这些样式的设计可以根据读取成功后的数据进行设置,本例中我们先把css代码贴出来。 #list{width:680px;
本文实例讲述了JS数组中对象去重操作。分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.jb51.net js数组中对象去重&...
本文实例总结了javascript运动效果实现与用法。分享给大家供大家参考,具体如下: 一、图片放大缩小效果: <!doctype html> <html> <head> <meta charset="utf-8"> <title>图片放大缩小...