⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000007.htm

📁 一份很好的linux入门资料
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;<A HREF="mailto:ax.bbs@bbs.ee.nthu.edu.tw.">ax.bbs@bbs.ee.nthu.edu.tw.</A>&nbsp;(athena),&nbsp;信区:&nbsp;test&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;星星流讲座&nbsp;0049&nbsp;<BR>发信站:&nbsp;☆清华电机☆&nbsp;(Sun&nbsp;Jul&nbsp;23&nbsp;00:35:31&nbsp;1995)&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>第&nbsp;7&nbsp;讲&nbsp;之&nbsp;7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;使用者自定型态&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Topic:&nbsp;typedef&nbsp;<BR>&nbsp;<BR>有的时候我们宣告结构变数时,结构的名字实在又臭又长:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;sock_addr&nbsp;mysocket;&nbsp;<BR>&nbsp;<BR>这个时候你可以使用&nbsp;typedef&nbsp;这个指令:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;struct&nbsp;sock_addr&nbsp;s_addr;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s_addr&nbsp;mysocket;&nbsp;<BR>&nbsp;<BR>typedef&nbsp;是用来造新的资料型态的名字用的,除了用在结构之&nbsp;<BR>外,也可以用在基本的资料型态,例如下面是很常见的例子:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;unsigned&nbsp;long&nbsp;u_long;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;unsigned&nbsp;int&nbsp;u_int;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;int&nbsp;socket_fd;&nbsp;<BR>&nbsp;<BR>typedef&nbsp;可以用来给资料型态取别名&nbsp;(alias),例如上面的例子里我们把&nbsp;<BR>socket_fd&nbsp;作为&nbsp;int&nbsp;的别名,这是为了提高程式的可读性:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;fd;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;file&nbsp;descriptor,&nbsp;maybe&nbsp;for&nbsp;file&nbsp;or&nbsp;socket&nbsp;*/&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;socket_fd&nbsp;fd;&nbsp;&nbsp;&nbsp;/*&nbsp;socket&nbsp;file&nbsp;descriptor&nbsp;*/&nbsp;<BR>&nbsp;<BR>typedef&nbsp;也可以在结构定义时直接与结构连用,例如:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;struct&nbsp;node*&nbsp;Treeptr;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;struct&nbsp;node&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;content;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Treeptr&nbsp;lchild;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Treeptr&nbsp;rchild;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;Treenode;&nbsp;<BR>&nbsp;<BR>这个结构的名字叫做&nbsp;node,而&nbsp;Treenode&nbsp;代表是&nbsp;struct&nbsp;node&nbsp;的型&nbsp;<BR>态,Treeptr&nbsp;node*&nbsp;代表是&nbsp;struct&nbsp;node&nbsp;*&nbsp;的型态。&nbsp;(Treeptr&nbsp;在&nbsp;<BR>struct&nbsp;node&nbsp;之前就定义了,这是合法的,因为&nbsp;typedef&nbsp;事实上是个&nbsp;<BR>假指令&nbsp;(pseudo&nbsp;command),只影响编译器,对程式码的产生并没有影&nbsp;<BR>响,所以可以使用未经宣告的型态。)&nbsp;<BR>&nbsp;<BR>(&nbsp;typedef&nbsp;定义指向函数的指标的部份,先偷吃起来&nbsp;^_^&nbsp;)&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>本文原作者为徐振家,原作刊载於星星神教总坛&nbsp;☆清华电机☆&nbsp;test&nbsp;板。&nbsp;<BR>你可以以电子文件的形式将本文自由流传於台湾学术网路,但必须包含此版权声明。&nbsp;<BR>原作者依中华民国著作权法之规定,享有本文之著作权,请勿抄袭以免触法。&nbsp;<BR>未经授权任何人不得以任何形式对本文做任何修改及商业上之应用。&nbsp;<BR>其他网路的转载或其他用途的应用,请先知会作者,并取得其同意。&nbsp;<BR>对本文有任何疑问或意见请&nbsp;mail&nbsp;给&nbsp;<A HREF="mailto:ax.bbs@bbs.ee.nthu.edu.tw,谢谢。">ax.bbs@bbs.ee.nthu.edu.tw,谢谢。</A>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -