-
Notifications
You must be signed in to change notification settings - Fork 0
/
tailq.html
50 lines (50 loc) · 2.46 KB
/
tailq.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
<title></title>
<style type="text/css">code{white-space: pre;}</style>
<style type="text/css">
table.sourceCode, tr.sourceCode, td.lineNumbers, td.sourceCode {
margin: 0; padding: 0; vertical-align: baseline; border: none; }
table.sourceCode { width: 100%; line-height: 100%; }
td.lineNumbers { text-align: right; padding-right: 4px; padding-left: 4px; color: #aaaaaa; border-right: 1px solid #aaaaaa; }
td.sourceCode { padding-left: 5px; }
code > span.kw { color: #007020; font-weight: bold; }
code > span.dt { color: #902000; }
code > span.dv { color: #40a070; }
code > span.bn { color: #40a070; }
code > span.fl { color: #40a070; }
code > span.ch { color: #4070a0; }
code > span.st { color: #4070a0; }
code > span.co { color: #60a0b0; font-style: italic; }
code > span.ot { color: #007020; }
code > span.al { color: #ff0000; font-weight: bold; }
code > span.fu { color: #06287e; }
code > span.er { color: #ff0000; font-weight: bold; }
</style>
</head>
<body>
<h1 id="tailq">TAILQ</h1>
<p>bsd发行的列表(队列)头文件, 实现全部用宏。</p>
<pre class="sourceCode c"><code class="sourceCode c"><span class="ot">#define TAILQ_HEAD(name, type) \</span>
<span class="kw">struct</span> name { \
<span class="kw">struct</span> type *tqh_first; <span class="co">/* first element */</span> \
<span class="kw">struct</span> type **tqh_last; <span class="co">/* addr of last next element */</span> \
}</code></pre>
<ul>
<li>为什么tqh_first是一级指针,tqh_last是一个二级指针?</li>
<li>type是不是必须是TQILQ_ENTRY?</li>
</ul>
<pre class="sourceCode c"><code class="sourceCode c"><span class="ot">#define TAILQ_ENTRY(type) \</span>
<span class="kw">struct</span> { \
<span class="kw">struct</span> type *tqe_next; <span class="co">/* next element */</span> \
<span class="kw">struct</span> type **tqe_prev; <span class="co">/* address of previous next element */</span> \
}</code></pre>
<ul>
<li>为什么tqe_next是一级指针,而tqe_prev是二级指针</li>
</ul>
</body>
</html>