<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/win4sm" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/win4sm" type="application/rss+xml"></fs:self_link><lastBuildDate>Wed, 27 Jun 2007 12:08:41 GMT</lastBuildDate><title>Win4sm的生活点滴</title><description>欲多则心散，心散则志衰，志衰则思不达。</description><image><url>http://www.feedsky.com/images/feedsky_logologo.gif</url><title>Win4sm的生活点滴</title><link>http://www.i170.com/user/win4sm/Rss</link></image><link>http://www.i170.com/user/win4sm/Rss</link><language>zh-cn</language><pubDate>Tue, 18 Oct 2011 20:26:00 GMT</pubDate><item><title>混沌的日子……</title><link>http://www.i170.com/Article/72198</link><trackback:ping>http://www.i170.com/Article/72198/trackback</trackback:ping><wfw:commentRss>http://www.i170.com/Article/72198/commentRss</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
烦，每天都要加班，晚上拖着疲惫的身子，坐公交颠簸着回来。早上又要起早赶公交，哎，感觉像要死了一样。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PS：以下请允许我粗鲁一点(少儿不宜)。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 什么TMD生活，日复一日，没有尽头。工作去死吧！房租去死吧！公交去死吧！我 Fuck
this world！&lt;/p&gt;</description><pubDate>Wed, 27 Jun 2007 20:08:41 +0800</pubDate><author>win4sm</author><comments>http://www.i170.com/Article/72198#comment</comments><guid isPermaLink="false">http://www.i170.com/Article/72198</guid><dc:creator>win4sm</dc:creator><fs:srclink>http://www.i170.com/Article/72198</fs:srclink><fs:srcfeed>http://www.i170.com/user/win4sm/RSS</fs:srcfeed><fs:itemid>feedsky/win4sm/~1471960/567477663/1491936</fs:itemid></item><item><title>鄙视 MS的 Windows Live™ Spaces</title><link>http://www.i170.com/Article/71685</link><trackback:ping>http://www.i170.com/Article/71685/trackback</trackback:ping><wfw:commentRss>http://www.i170.com/Article/71685/commentRss</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 我实在不敢恭维MS的Windows Live&lt;span class=&quot;tm&quot;
twffan=&quot;done&quot;&gt;&lt;font size=
&quot;1&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;Spaces，我本人也不觉得自己机器配置有多么差，然而每次进入Windows
Live&lt;span class=&quot;tm&quot; twffan=&quot;done&quot;&gt;&lt;font size=
&quot;1&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;Spaces的时候，都会感觉机器在吃力的往前爬。把一个简单的日志空间做成这个样子，不知道到底是MS过于用心，还是根本没有考虑到用户的需求。莫非MS的人以为，我们每个人都在用他们内部人员用的那种电脑？？给它下一句评价：B4之。&lt;/p&gt;</description><pubDate>Sun, 24 Jun 2007 01:36:57 +0800</pubDate><author>win4sm</author><comments>http://www.i170.com/Article/71685#comment</comments><guid isPermaLink="false">http://www.i170.com/Article/71685</guid><dc:creator>win4sm</dc:creator><fs:srclink>http://www.i170.com/Article/71685</fs:srclink><fs:srcfeed>http://www.i170.com/user/win4sm/RSS</fs:srcfeed><fs:itemid>feedsky/win4sm/~1471960/567477664/1491936</fs:itemid></item><item><title>关于秘制酸菜鱼</title><link>http://www.i170.com/Article/71396</link><trackback:ping>http://www.i170.com/Article/71396/trackback</trackback:ping><wfw:commentRss>http://www.i170.com/Article/71396/commentRss</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
今天晚上又吃了一次酸菜鱼，菜单上这道菜叫“秘制酸菜鱼”，但是我没吃出来它哪里神秘，顶多有几样佐料我叫不出名字罢了。不过鱼肉很鲜嫩，而且里面的朝天椒真够味，很开胃。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
早上上班，在公交车上结识了一位新同事，他先跟我打招呼，我根本不知道他就坐在我办公的对面。两个刚来公司都没多久的人，一路上聊的很投机，所以今天早上在车上的时间，感觉比以往要短了很多。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 努力工作，结识新朋友，因为朋友是自己一辈子的财富。&lt;/p&gt;</description><pubDate>Thu, 21 Jun 2007 22:08:19 +0800</pubDate><author>win4sm</author><comments>http://www.i170.com/Article/71396#comment</comments><guid isPermaLink="false">http://www.i170.com/Article/71396</guid><dc:creator>win4sm</dc:creator><fs:srclink>http://www.i170.com/Article/71396</fs:srclink><fs:srcfeed>http://www.i170.com/user/win4sm/RSS</fs:srcfeed><fs:itemid>feedsky/win4sm/~1471960/567477665/1491936</fs:itemid></item><item><title>开始好好啃书了</title><link>http://www.i170.com/Article/71139</link><trackback:ping>http://www.i170.com/Article/71139/trackback</trackback:ping><wfw:commentRss>http://www.i170.com/Article/71139/commentRss</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 今天是端午节，公司的早餐也自然少不了粽子 &lt;img twffan=&quot;done&quot; alt=
&quot;&quot; src=
&quot;/htmledit/editor/images/smiley/msn/teeth_smile.gif&quot;&gt;&amp;nbsp;一下子吃了两个，搞的一上午都感觉肚子好饱，到下午下班才感觉恢复元气。晚上跟老婆跑去吃麦当劳，不知道为什么自己很喜欢吃里面的薯条，沾着番茄酱，吃起来感觉真的很爽。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
自从买了那本《Windows环境32位汇编语言程序设计》，到现在为止，我自己都觉得一直对不起它，再次体会到“书非借不能读”。哎，下定决心，每天晚上2个小时的学习，关闭电脑，关闭MSN，安静看书。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 远离了校园，千万别让自己退化，人的一生都需要不断的学习。&lt;/p&gt;</description><pubDate>Tue, 19 Jun 2007 22:16:53 +0800</pubDate><author>win4sm</author><comments>http://www.i170.com/Article/71139#comment</comments><guid isPermaLink="false">http://www.i170.com/Article/71139</guid><dc:creator>win4sm</dc:creator><fs:srclink>http://www.i170.com/Article/71139</fs:srclink><fs:srcfeed>http://www.i170.com/user/win4sm/RSS</fs:srcfeed><fs:itemid>feedsky/win4sm/~1471960/567477666/1491936</fs:itemid></item><item><title>交换友情链接的请看这里</title><link>http://www.i170.com/Article/70956</link><trackback:ping>http://www.i170.com/Article/70956/trackback</trackback:ping><wfw:commentRss>http://www.i170.com/Article/70956/commentRss</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
如果需要交换友情链接，请直接回复本篇日志，附上贵站的名称及URL，并先做好本站的链接。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Win4sm's
Blog&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 地址：&lt;a target=&quot;_blank&quot;
href=&quot;http://www.ntdll.cn&quot;&gt;http://www.ntdll.cn&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=
&quot;#0000FF&quot;&gt;本人会对友情链接定时检查清理。&lt;/font&gt;&lt;/p&gt;</description><pubDate>Mon, 18 Jun 2007 20:46:13 +0800</pubDate><author>win4sm</author><comments>http://www.i170.com/Article/70956#comment</comments><guid isPermaLink="false">http://www.i170.com/Article/70956</guid><dc:creator>win4sm</dc:creator><fs:srclink>http://www.i170.com/Article/70956</fs:srclink><fs:srcfeed>http://www.i170.com/user/win4sm/RSS</fs:srcfeed><fs:itemid>feedsky/win4sm/~1471960/567477667/1491936</fs:itemid></item><item><title>今天有点爽</title><link>http://www.i170.com/Article/70954</link><trackback:ping>http://www.i170.com/Article/70954/trackback</trackback:ping><wfw:commentRss>http://www.i170.com/Article/70954/commentRss</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 上午梁组长给了我一份53页的英文文档让我翻译，他说看了你英文简历，英语说的挺溜的
&lt;img twffan=&quot;done&quot; alt=&quot;&quot; src=
&quot;/htmledit/editor/images/smiley/msn/embaressed_smile.gif&quot;&gt;&amp;nbsp;我晕，那简历又不是我一天做完的，琢磨了几天&amp;nbsp;
&lt;img twffan=&quot;done&quot; alt=&quot;&quot; src=
&quot;/htmledit/editor/images/smiley/msn/teeth_smile.gif&quot;&gt;&amp;nbsp;不过翻译的资料不是很难，能帮助我理解基本的通信专用词汇。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚上吃完晚饭，跟彭师兄聊天才知道，张工（面试我的）居然跟我是同校的
&lt;img twffan=&quot;done&quot; alt=&quot;&quot; src=
&quot;/htmledit/editor/images/smiley/msn/teeth_smile.gif&quot;&gt;&amp;nbsp;我们MSAP小组的组长刘工也是湖北的，一个同校一个老乡，顿时感觉爽了很多，开始YY了
&lt;img twffan=&quot;done&quot; alt=&quot;&quot; src=
&quot;/htmledit/editor/images/smiley/msn/teeth_smile.gif&quot;&gt;&lt;/p&gt;</description><pubDate>Mon, 18 Jun 2007 20:30:54 +0800</pubDate><author>win4sm</author><comments>http://www.i170.com/Article/70954#comment</comments><guid isPermaLink="false">http://www.i170.com/Article/70954</guid><dc:creator>win4sm</dc:creator><fs:srclink>http://www.i170.com/Article/70954</fs:srclink><fs:srcfeed>http://www.i170.com/user/win4sm/RSS</fs:srcfeed><fs:itemid>feedsky/win4sm/~1471960/567477668/1491936</fs:itemid></item><item><title>《编程修养》</title><link>http://www.i170.com/Article/70734</link><trackback:ping>http://www.i170.com/Article/70734/trackback</trackback:ping><wfw:commentRss>http://www.i170.com/Article/70734/commentRss</wfw:commentRss><description>&lt;div class=&quot;prettyprint&quot; id=&quot;C&quot; twffan=&quot;done&quot;&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
什么是好的程序员？是不是懂得很多技术细节？还是懂底层编程？还是编程速度比较快？我觉得都不是。对于一些技术细节来说和底层的技术，只要看帮助，查资料就能找到，对于速度快，只要编得多也就熟能生巧了。&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&amp;nbsp;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 我认为好的程序员应该有以下几方面的素质：&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、有专研精神，勤学善问、举一反三。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、积极向上的态度，有创造性思维。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、与人积极交流沟通的能力，有团队精神。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、谦虚谨慎，戒骄戒燥。&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、写出的代码质量高。包括：代码的稳定、易读、规范、易维护、专业。&lt;/span&gt;
&lt;p class=&quot;partingline&quot;&gt;[separator]&lt;/p&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;这些都是程序员的修养，这里我想谈谈“编程修养”，也就是上述中的第&lt;/span&gt;&lt;span class=
&quot;lit&quot; twffan=&quot;done&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;点。我觉得，如果我要了解一个作者，我会看他所写的小说，如果我要了解一个画家，我会看他所画的图画，如果我要了解一个工人，我会看他所做出来的产品，同样，如果我要了解一个程序员，我想首先我最想看的就是他的程序代码，程序代码可以看出一个程序员的素质和修养，程序就像一个作品，有素质有修养的程序员的作品必然是一图精美的图画，一首美妙的歌曲，一本赏心悦目的小说。&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&amp;nbsp;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;我看过许多程序，没有注释，没有缩进，胡乱命名的变量名，等等，等等，我把这种人统称为没有修养的程序，这种程序员，是在做创造性的工作吗？不，完全就是在搞破坏，他们与其说是在编程，还不如说是在对源程序进行“加密”，这种程序员，见一个就应该开除一个，因为他编的程序所创造的价值，远远小于需要在上面进行维护的价值。&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&amp;nbsp;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;程序员应该有程序员的修养，那怕再累，再没时间，也要对自己的程序负责。我宁可要那种动作慢，技术一般，但有良好的写程序风格的程序员，也不要那种技术强、动作快的“搞破坏”的程序员。有句话叫“字如其人”，我想从程序上也能看出一个程序员的优劣。因为，程序是程序员的作品，作品的好坏直截关系到程序员的声誉和素质。而“修养”好的程序员一定能做出好的程序和软件。&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&amp;nbsp;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;有个成语叫“独具匠心”，意思是做什么都要做得很专业，很用心，如果你要做一个“匠”，也就是造诣高深的人，那么，从一件很简单的作品上就能看出你有没有“匠”的特性，我觉得做一个程序员不难，但要做一个“程序匠”就不简单了。编程序很简单，但编出有质量的程序就难了。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;我在这里不讨论过深的技术，我只想在一些容易让人忽略的东西上说一说，虽然这些东西可能很细微，但如果你不注意这些细微之处的话，那么他将会极大的影响你的整个软件质量，以及整个软件程的实施，所谓“千里之堤，毁于蚁穴”。&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&amp;nbsp;&lt;br&gt;&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;“细微之处见真功”，真正能体现一个程序的功底恰恰在这些细微之处。&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&amp;nbsp;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;这就是程序员的--编程修养。我总结了在用&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;/&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++语言（主要是&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;语言）进行程序写作上的三十二个“修养”，通过这些，你可以写出质量高的程序，同时也会让看你程序的人渍渍称道，那些看过你程序的人一定会说：“这个人的编程修养不错”。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　------------------------&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;01&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、版权和版本&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;02&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、缩进、空格、换行、空行、对齐&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;03&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、程序注释&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;04&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、函数的[&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;]参数&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;05&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、对系统调用的返回进行判断&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;06&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;语句对出错的处理&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;07&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、头文件中的&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#ifndef&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;08&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、在堆上分配内存&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;09&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、变量的初始化&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;h&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;和&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;文件的使用&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、出错信息的处理&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、常用函数和循环语句中的被计算量&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;13&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、函数名和变量名的命名&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;14&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、函数的传值和传指针&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;15&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、修改别人程序的修养&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、把相同或近乎相同的代码形成函数和宏&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;17&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、表达式中的括号&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;18&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、函数参数中的&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;const&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;19&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、函数的参数个数&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、函数的返回类型，不要省略&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;21&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;goto&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;语句的使用&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;22&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、宏的使用&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;23&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;static&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;的使用&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;24&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、函数中的代码尺寸&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;的使用&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;26&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、为常量声明宏&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;27&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、不要为宏定义加分号&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、||和&lt;/span&gt;&amp;amp;&amp;amp;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的语句执行顺序&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;29&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、尽量用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;而不是&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;做循环&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、请&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;类型而不是变量&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;31&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、不要忽略&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=&quot;done&quot;&gt;Warning&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、书写&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Debug&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;版和&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Release&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;版的程序&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　------------------------&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;1&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、版权和版本&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;-------&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;好的程序员会给自己的每个函数，每个文件，都注上版权和版本。&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;对于&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;/&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++的文件，文件头应该有类似这样的注释：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=
&quot;done&quot;&gt;/************************************************************************&lt;br&gt;
*&lt;br&gt;
*　 文件名：network.c&lt;br&gt;
*&lt;br&gt;
*　 文件描述：网络通讯函数集&lt;br&gt;
*&lt;br&gt;
*　 创建人： Hao Chen, 2003年2月3日&lt;br&gt;
*&lt;br&gt;
*　 版本号：1.0&lt;br&gt;
*&lt;br&gt;
*　 修改记录：&lt;br&gt;
*&lt;br&gt;
************************************************************************/&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;而对于函数来说，应该也有类似于这样的注释：&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=
&quot;done&quot;&gt;/*================================================================&lt;br&gt;
*&lt;br&gt;
* 函 数 名：XXX&lt;br&gt;
*&lt;br&gt;
* 参　　数：&lt;br&gt;
*&lt;br&gt;
*　　　　type name [IN] : descripts&lt;br&gt;
*&lt;br&gt;
* 功能描述:&lt;br&gt;
*&lt;br&gt;
*　　　　..............&lt;br&gt;
*&lt;br&gt;
* 返 回 值：成功TRUE，失败FALSE&lt;br&gt;
*&lt;br&gt;
* 抛出异常：&lt;br&gt;
*&lt;br&gt;
* 作　　者：ChenHao 2003/4/2&lt;br&gt;
*&lt;br&gt;
================================================================*/&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;这样的描述可以让人对一个函数，一个文件有一个总体的认识，对代码的易读性和易维护性有很大的好处。这是好的作品产生的开始。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;2&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、缩进、空格、换行、空行、对齐&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;----------------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
i&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=
&quot;done&quot;&gt;缩进应该是每个程序都会做的，只要学程序过程序就应该知道这个，但是我仍然看过不缩进的程序，或是乱缩进的程序，如果你的公司还有写程序不缩进的程序员，请毫不犹豫的开除他吧，并以破坏源码罪起诉他，还要他赔偿读过他程序的人的精神损失费。缩进，这是不成文规矩，我再重提一下吧，一个缩进一般是一个&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;TAB&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;键或是&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;个空格。（最好用&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;TAB&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;键）&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
ii&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=
&quot;done&quot;&gt;空格。空格能给程序代来什么损失吗？没有，有效的利用空格可以让你的程序读进来更加赏心悦目。而不一堆表达式挤在一起。看看下面的代码：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ha&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ha&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;128&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;+*&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++)%&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;tabPtr&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;-&lt;/span&gt;&amp;gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;ha&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;ha&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;128&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;+&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;++&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;tabPtr&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;-&lt;/span&gt;&amp;gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　有空格和没有空格的感觉不一样吧。一般来说，语句中要在各个操作符间加空格，函数调用时，要以各个参数间加空格。如下面这种加空格的和不加的：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;hProc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;OpenProcess&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;PROCESS_ALL_ACCESS&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;FALSE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pid&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;))==&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;hProc&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;OpenProcess&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;PROCESS_ALL_ACCESS&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;FALSE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;pid&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
iii&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;换行。不要把语句都写在一行上，这样很不好。如：&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;i&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;i&lt;/span&gt;&amp;lt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;i&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;++)&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;a&lt;/span&gt;&amp;lt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'0'&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;||&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;a&lt;/span&gt;&amp;gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'9'&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;a&lt;/span&gt;&amp;lt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'a'&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;||&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;a&lt;/span&gt;&amp;gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'z'&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　我拷，这种即无空格，又无换行的程序在写什么啊？加上空格和换行吧。　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;for&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;&lt;span class=
&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;i&lt;/span&gt;&amp;lt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++)&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;a&lt;/span&gt; &amp;lt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'0'&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;a&lt;/span&gt;
&amp;gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'9'&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;)&lt;/span&gt; &amp;amp;&amp;amp; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　　　&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;a&lt;/span&gt; &amp;lt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'a'&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;a&lt;/span&gt; &amp;gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'z'&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　好多了吧？有时候，函数参数多的时候，最好也换行，如：&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;CreateProcess&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;cmdbuf&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;bInhH&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;dwCrtFlags&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;envbuf&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　　　　　&lt;/span&gt;&amp;amp;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;siStartInfo&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　　　　　&lt;/span&gt;&amp;amp;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;prInfo&lt;br&gt;&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　　　　　&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　条件语句也应该在必要时换行：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ch&lt;/span&gt; &amp;gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'0'&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;ch&lt;/span&gt;
&amp;lt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;str&quot;
twffan=&quot;done&quot;&gt;'9'&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;||&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;ch&lt;/span&gt;
&amp;gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;str&quot;
twffan=&quot;done&quot;&gt;'a'&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;||&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;ch&lt;/span&gt; &amp;lt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'z'&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;ch&lt;/span&gt; &amp;gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'A'&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ch&lt;/span&gt; &amp;lt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'Z'&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　　　　　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
iv&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;空行。不要不加空行，空行可以区分不同的程序块，程序块间，最好加上空行。如：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;HANDLE
hProcess&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;PROCESS_T
procInfo&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* open the
process handle */&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;hProcess&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;OpenProcess&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;PROCESS_ALL_ACCESS&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;FALSE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;pid&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;==&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　{&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;LSE_MISC_SYS&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;memset&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&amp;amp;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;procInfo&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;procInfo&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;));&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;procInfo&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;idProc&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pid&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;procInfo&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;hdProc&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;hProcess&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;procInfo&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;misc&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;|=&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;MSCAVA_PROC&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　　　　　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
v&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;对齐。用&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;TAB&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;键对齐你的一些变量的声明或注释，一样会让你的程序好看一些。如：&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;struct&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;_pt_man_t_&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;numProc&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* Number
of processes　　　　　　　　 */&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;maxProc&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* Max
Number of processes　　　　　　 */&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;numEvnt&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* Number
of events　　　　　　　　　　*/&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;maxEvnt&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* Max
Number of events　　　　　　　　*/&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;HANDLE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;pHndEvnt&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;　&lt;/span&gt; &lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* Array of
events　　　　　　　　　　 */&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;DWORD&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;timeout&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* Time out
interval　　　　　　　　　 */&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;HANDLE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;hPipe&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;;　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/*
Namedpipe　　　　　　　　　　　　　 */&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;TCHAR&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;MAXUSR&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;];&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* User name of the
process　　　　　　*/&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;numMsg&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;　　&lt;/span&gt; &lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* Number
of Message　　　　　　　　　 */&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;typ&quot; twffan=&quot;done&quot;&gt;Msg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;MAXMSG&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;];&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* Space for intro
process communicate */&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;PT_MAN_T&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;怎么样？感觉不错吧。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;这里主要讲述了如果写出让人赏心悦目的代码，好看的代码会让人的心情愉快，读起代码也就不累，工整、整洁的程序代码，通常更让人欢迎，也更让人称道。现在的硬盘空间这么大，不要让你的代码挤在一起，这样它们会抱怨你虐待它们的。好了，用“缩进、空格、换行、空行、对齐”装饰你的代码吧，让他们从没有秩序的土匪中变成一排排整齐有秩序的正规部队吧。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　　　　　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot;
twffan=&quot;done&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、程序注释&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;养成写程序注释的习惯，这是每个程序员所必须要做的工作。我看过那种几千行，却居然没有一行注释的程序。这就如同在公路上驾车却没有路标一样。用不了多久，连自己都不知道自己的意图了，还要花上几倍的时间才看明白，这种浪费别人和自己的时间的人，是最为可耻的人。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;是的，你也许会说，你会写注释，真的吗？注释的书写也能看出一个程序员的功底。一般来说你需要至少写这些地方的注释：文件的注释、函数的注释、变量的注释、算法的注释、功能块的程序注释。主要就是记录你这段程序是干什么的？你的意图是什么？你这个变量是用来做什么的？等等。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;不要以为注释好写，有一些算法是很难说或写出来的，只能意会，我承认有这种情况的时候，但你也要写出来，正好可以训练一下自己的表达能力。而表达能力正是那种闷头搞技术的技术人员最缺的，你有再高的技术，如果你表达能力不行，你的技术将不能得到充分的发挥。因为，这是一个团队的时代。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;好了，说几个注释的技术细节：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;
i&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;对于行注释（“&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=
&quot;done&quot;&gt;//”）比块注释（“/*
*/”）要好的说法，我并不是很同意。因为一些老版本的C编译器并不支持行注释，所以为了你的程序的移植性，请你还是尽量使用块注释。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
ii&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=
&quot;done&quot;&gt;你也许会为块注释的不能嵌套而不爽，那么你可以用预编译来完成这个功能。使用“&lt;/span&gt;&lt;span class=
&quot;com&quot; twffan=&quot;done&quot;&gt;#if 0”和“#endif”括起来的代码，将不被编译，而且还可以嵌套。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;4&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、函数的[&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;]参数&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;-----------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;我经常看到这样的程序：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;FuncName&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;len&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;strlen&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　.....&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;typ&quot;
twffan=&quot;done&quot;&gt;GetUserName&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;struct&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;user&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pUser&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;return&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;pUser&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;-&lt;/span&gt;&amp;gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;不！请不要这样做。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;你应该先判断一下传进来的那个指针是不是为空。如果传进来的指针为空的话，那么，你的一个大的系统就会因为这一个小的函数而崩溃。一种更好的技术是使用断言（&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;assert&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;），这里我就不多说这些技术细节了。当然，如果是在&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++中，引用要比指针好得多，但你也需要对各个参数进行检查。&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;写有参数的函数时，首要工作，就是要对传进来的所有参数进行合法性检查。而对于传出的参数也应该进行检查，这个动作当然应该在函数的外部，也就是说，调用完一个函数后，应该对其传出的值进行检查。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;当然，检查会浪费一点时间，但为了整个系统不至于出现“非法操作”或是“&lt;/span&gt;&lt;span class=
&quot;typ&quot; twffan=&quot;done&quot;&gt;Core&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Dump&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;”的系统级的错误，多花这点时间还是很值得的。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;5&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、对系统调用的返回进行判断&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;--------------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;继续上一条，对于一些系统调用，比如打开文件，我经常看到，许多程序员对&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;fopen&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;返回的指针不做任何判断，就直接使用了。然后发现文件的内容怎么也读出不，或是怎么也写不进去。还是判断一下吧：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;fp&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;fopen&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;&quot;log.txt&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;a&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;fp&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;==&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;){&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Error: open file
errorn&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;FALSE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;其它还有许多啦，比如：&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;socket&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;返回的&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;socket&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;号，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;返回的内存。请对这些系统调用返回的东西进行判断。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;6&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;语句对出错的处理&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;-----------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;我看见你说了，这有什么好说的。还是先看一段程序代码吧。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ch&lt;/span&gt; &amp;gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'0'&lt;/span&gt; &amp;amp;&amp;amp; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;ch&lt;/span&gt; &amp;lt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'9'&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;){&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 正常处理代码
*/&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;　　}&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 输出错误信息
*/&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;error
......n&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;FALSE&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;这种结构很不好，特别是如果“正常处理代码”很长时，对于这种情况，最好不要用&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;。先判断错误，如：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ch&lt;/span&gt; &amp;lt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'0'&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ch&lt;/span&gt; &amp;gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'9'&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;){&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 输出错误信息
*/&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;error
......n&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;FALSE&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 正常处理代码 */&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　......&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;这样的结构，不是很清楚吗？突出了错误的条件，让别人在使用你的函数的时候，第一眼就能看到不合法的条件，于是就会更下意识的避免。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;7&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、头文件中的&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=
&quot;done&quot;&gt;#ifndef&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;----------&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;千万不要忽略了头件的中的&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=
&quot;done&quot;&gt;#ifndef，这是一个很关键的东西。比如你有两个C文件，这两个C文件都include了同一个头文件。而编译时，这两个C文件要一同编译成一个可运行文件，于是问题来了，大量的声明冲突。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;还是把头文件的内容都放在&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=
&quot;done&quot;&gt;#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用，你都要加上这个。一般格式是这样的：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=
&quot;done&quot;&gt;#ifndef　&amp;lt;标识&amp;gt;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define
&amp;lt;标识&amp;gt;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　......&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　......&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#endif&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&amp;lt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;标识&lt;/span&gt;&amp;gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;在理论上来说可以是自由命名的，但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写，前后加下划线，并把文件名中的“.”也变成下划线，如：&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;stdio&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;h&lt;br&gt;&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=
&quot;done&quot;&gt;#ifndef _STDIO_H_&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define
_STDIO_H_&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　......&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=
&quot;done&quot;&gt;#endif&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;（&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;BTW&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;：预编译有多很有用的功能。你会用预编译吗？）　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;8&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、在堆上分配内存&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;---------&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;可能许多人对内存分配上的“栈&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;stack&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;”和“堆&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;heap&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;”还不是很明白。包括一些科班出身的人也不明白这两个概念。我不想过多的说这两个东西。简单的来讲，&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;stack&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;上分配的内存系统自动释放，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;heap&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;上分配的内存，系统不释放，哪怕程序退出，那一块内存还是在那里。&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;stack&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;一般是静态分配内存，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;heap&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;上一般是动态分配内存。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;由&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;系统函数分配的内存就是从堆上分配内存。从堆上分配的内存一定要自己释放。用&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;free&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;释放，不然就是术语--“内存泄露”（或是“内存漏洞”）--&lt;/span&gt; &lt;span class=&quot;typ&quot;
twffan=&quot;done&quot;&gt;Memory&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Leak&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;。于是，系统的可分配内存会随&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;越来越少，直到系统崩溃。还是来看看“栈内存”和“堆内存”的差别吧。&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　栈内存分配&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　-----&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;AllocStrFromStack&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　{&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pstr&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pstr&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　堆内存分配&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　-----&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;AllocStrFromHeap&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　{&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pstr&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;len&lt;/span&gt; &amp;lt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;return&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;return&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;len&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;对于第一个函数，那块&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pstr&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的内存在函数返回时就被系统释放了。于是所返回的&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;*什么也没有。而对于第二个函数，是从堆上分配内存，所以哪怕是程序退出时，也不释放，所以第二个函数的返回的内存没有问题，可以被使用。但一定要调用&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;free&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;释放，不然就是&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=&quot;done&quot;&gt;Memory&lt;/span&gt;
&lt;span class=&quot;typ&quot; twffan=&quot;done&quot;&gt;Leak&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;！&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;在堆上分配内存很容易造成内存泄漏，这是&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;/&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++的最大的“克星”，如果你的程序要稳定，那么就不要出现&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Memory&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Leak&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;。所以，我还是要在这里千叮咛万嘱付，在使用&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;系统函数（包括&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;calloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;realloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;）时千万要小心。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;记得有一个&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;UNIX&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;上的服务应用程序，大约有几百的&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件编译而成，运行测试良好，等使用时，每隔三个月系统就是&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;down&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;一次，搞得许多人焦头烂额，查不出问题所在。只好，每隔两个月人工手动重启系统一次。出现这种问题就是&lt;/span&gt;&lt;span class=&quot;typ&quot;
twffan=&quot;done&quot;&gt;Memery&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Leak&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;在做怪了，在&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;/&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++中这种问题总是会发生，所以你一定要小心。一个&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Rational&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的检测工作--&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Purify&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，可以帮你测试你的程序有没有内存泄漏。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;我保证，做过许多&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;/&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++的工程的程序员，都会对&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;或是&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;有些感冒。当你什么时候在使用&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;和&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;时，有一种轻度的紧张和惶恐的感觉时，你就具备了这方面的修养了。&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;对于&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;和&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;free&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;的操作有以下规则：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot;
twffan=&quot;done&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;配对使用，有一个&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，就应该有一个&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;free&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;。（&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++中对应为&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;和&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;delete&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;）&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot;
twffan=&quot;done&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;尽量在同一层上使用，不要像上面那种，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;在函数中，而&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;free&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;在函数外。最好在同一调用层上使用这两个函数。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;分配的内存一定要初始化。&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;free&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;后的指针一定要设置为&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;。　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;注：虽然现在的操作系统（如：&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;UNIX&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;和&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Win2k&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;NT&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;）都有进程内存跟踪机制，也就是如果你有没有释放的内存，操作系统会帮你释放。但操作系统依然不会释放你程序中所有产生了&lt;/span&gt;&lt;span class=&quot;typ&quot;
twffan=&quot;done&quot;&gt;Memory&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Leak&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的内存，所以，最好还是你自己来做这个工作。（有的时候不知不觉就出现&lt;/span&gt;&lt;span class=&quot;typ&quot;
twffan=&quot;done&quot;&gt;Memory&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Leak&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;了，而且在几百万行的代码中找无异于海底捞针，&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Rational&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;有一个工具叫&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Purify&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，可能很好的帮你检查程序中的&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Memory&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Leak&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;）&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;9&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、变量的初始化&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;--------&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;接上一条，变量一定要被初始化再使用。&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;/&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++编译器在这个方面不会像&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;JAVA&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;一样帮你初始化，这一切都需要你自己来，如果你使用了没有初始化的变量，结果未知。好的程序员从来都会在使用变量前初始化变量的。如：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;对&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;分配的内存进行&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;memset&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;清零操作。（可以使用&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;calloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;分配一块全零的内存）&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;对一些栈上分配的&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;struct&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;或数组进行初始化。（最好也是清零）&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;不过话又说回来了，初始化也会造成系统运行时间有一定的开销，所以，也不要对所有的变量做初始化，这个也没有意义。好的程序员知道哪些变量需要初始化，哪些则不需要。如：以下这种情况，则不需要。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;char&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pstr&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;;　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 一个字符串 */&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pstr&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;50&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pstr&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;==&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;strcpy&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;pstr&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Hello
Wrold&quot;&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;但如果是下面一种情况，最好进行内存初始化。（指针是一个危险的东西，一定要初始化）&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pstr&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;;　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 一个字符串数组
*/&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pstr&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;**&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;50&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pstr&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;==&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/*
让数组中的指针都指向NULL */&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;memset&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;pstr&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;而对于全局变量，和静态变量，一定要声明时就初始化。因为你不知道它第一次会在哪里被使用。所以使用前初始这些变量是比较不现实的，一定要在声明时就初始化它们。如：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=&quot;done&quot;&gt;Links&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;plnk&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/*
对于全局变量plnk初始化为NULL */&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;10&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;和&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件的使用&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;---------&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
H&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;文件和&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件怎么用呢？一般来说，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;H&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件中是&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;declare&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;（声明），&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件中是&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;define&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;（定义）。因为&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件要编译成库文件（&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Windows&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;下是.&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;obj&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;/.&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;lib&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;UNIX&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;下是.&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;o&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;/.&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;），如果别人要使用你的函数，那么就要引用你的&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;H&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件，所以，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;H&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件中一般是变量、宏定义、枚举、结构和函数接口的声明，就像一个接口说明文件一样。而&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件则是实现细节。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
H&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;文件和&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件最大的用处就是声明和实现分开。这个特性应该是公认的了，但我仍然看到有些人喜欢把函数写在&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;H&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件中，这种习惯很不好。（如果是&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++话，对于其模板函数，在&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;VC&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;中只有把实现和声明都写在一个文件中，因为&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;VC&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;不支持&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;export&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;关键字）。而且，如果在&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;H&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件中写上函数的实现，你还得在&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;makefile&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;中把头文件的依赖关系也加上去，这个就会让你的&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;makefile&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;很不规范。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;最后，有一个最需要注意的地方就是：带初始化的全局变量不要放在&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;H&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件中！&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;例如有一个处理错误信息的结构：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 0
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;No error&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,　　　　　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 1
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Open file error&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 2
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Failed in sending/receiving a
message&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 3
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Bad arguments&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 4
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Memeroy is not enough&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 5
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Service is down; try later&quot;&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 6
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Unknow information&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 7
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;A socket operation has
failed&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 8
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Permission denied&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 9
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Bad configuration file
format&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 10
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt;&lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Communication time out&quot;&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　......&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　......&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　};&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;请不要把这个东西放在头文件中，因为如果你的这个头文件被&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;个函数库（.&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;lib&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;或是.&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;）所用到，于是他就被链接在这&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;个.&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;lib&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;或.&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;中，而如果你的一个程序用到了这&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;个函数库中的函数，并且这些函数都用到了这个出错信息数组。那么这份信息将有&lt;/span&gt;&lt;span class=&quot;lit&quot;
twffan=&quot;done&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;个副本存在于你的执行文件中。如果你的这个&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;很大的话，而且你用到的函数库更多的话，你的执行文件也会变得很大。&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;正确的写法应该把它写到&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件中，然后在各个需要用到&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;文件头上加上&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;extern&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;[];&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的外部声明，让编译器在链接时才去管他，这样一来，就只会有一个&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;存在于执行文件中，而且，这样做很利于封装。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;我曾遇到过的最疯狂的事，就是在我的目标文件中，这个&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;一共有&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;112&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;个副本，执行文件有&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;8M&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;左右。当我把&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;放到&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件中，并为一千多个&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件加上了&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;extern&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的声明后，所有的函数库文件尺寸都下降了&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;%左右，而我的执行文件只有&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;5M&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;了。一下子少了&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;3M&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;啊。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;〔&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;备注&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;〕&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;-----&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;有朋友对我说，这个只是一个特例，因为，如果&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;在执行文件中存在多个副本时，可以加快程序运行速度，理由是&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的多个复本会让系统的内存换页降低，达到效率提升。像我们这里所说的&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;只有一份，当某函数要用&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;时，如果内存隔得比较远，会产生换页，反而效率不高。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;这个说法不无道理，但是一般而言，对于一个比较大的系统，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;是比较大的，所以产生副本导致执行文件尺寸变大，不仅增加了系统装载时间，也会让一个程序在内存中占更多的页面。而对于&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;这样数据，一般来说，在系统运行时不会经常用到，所以还是产生的内存换页也就不算频繁。权衡之下，还是只有一份&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的效率高。即便是像&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;logmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;这样频繁使用的的数据，操作系统的内存调度算法会让这样的频繁使用的页面常驻于内存，所以也就不会出现内存换页问题了&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot;
twffan=&quot;done&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、出错信息的处理&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;---------&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;你会处理出错信息吗？哦，它并不是简单的输出。看下面的示例：&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;==&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;){&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;printf&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;&quot;ERR: The pointer is NULLn&quot;&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;告别学生时代的编程吧。这种编程很不利于维护和管理，出错信息或是提示信息，应该统一处理，而不是像上面这样，写成一个“硬编码”。第&lt;/span&gt;&lt;span class=&quot;lit&quot;
twffan=&quot;done&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;条对这方面的处理做了一部分说明。如果要管理错误信息，那就要有以下的处理：&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 声明出错代码 */&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define　　
ERR_NO_ERROR　　0　/* No error　　　　　　　　 */&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define　　
ERR_OPEN_FILE　 1　/* Open file error　　　　　*/&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define　　
ERR_SEND_MESG　 2　/* sending a message error　*/&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define　　
ERR_BAD_ARGS　　3　/* Bad arguments　　　　　　*/&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define　　
ERR_MEM_NONE　　4　/* Memeroy is not enough　　*/&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define　　
ERR_SERV_DOWN　 5　/* Service down try later　 */&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define　　
ERR_UNKNOW_INFO 6　/* Unknow information　　　 */&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define　　
ERR_SOCKET_ERR　7　/* Socket operation failed　*/&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define　　
ERR_PERMISSION　8　/* Permission denied　　　　*/&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define　　
ERR_BAD_FORMAT　9　/* Bad configuration file　 */&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define　　
ERR_TIME_OUT　 10　/* Communication time out　 */&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 声明出错信息 */&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 0
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;No error&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,　　　　　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 1
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Open file error&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 2
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Failed in sending/receiving a
message&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 3
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Bad arguments&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 4
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Memeroy is not enough&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 5
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Service is down; try later&quot;&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 6
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Unknow information&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 7
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;A socket operation has
failed&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 8
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Permission denied&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 9
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt; &lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Bad configuration file
format&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 10
*/&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　&lt;/span&gt;&lt;span class=
&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Communication time out&quot;&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　};&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　　　　　　　　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 声明错误代码全局变量
*/&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;long&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;errno&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 打印出错信息函数
*/&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;perror&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　{&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;info&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;%s:
%sn&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;errno&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Error:
%sn&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;errno&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;这个基本上是&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ANSI&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的错误处理实现细节了，于是当你程序中有错误时你就可以这样处理：&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;bool&lt;/span&gt;
&lt;span class=&quot;typ&quot; twffan=&quot;done&quot;&gt;CheckPermission&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;userName&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　{&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;strcpy&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;userName&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;root&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;!=&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;){&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;errno&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ERR_PERMISSION_DENIED&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;return&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;FALSE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　...&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　{&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　...&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(!&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;CheckPermission&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;username&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;){&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;perror&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;&quot;main()&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　...&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　　　　　　　　　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;一个即有共性，也有个性的错误信息处理，这样做有利同种错误出一样的信息，统一用户界面，而不会因为文件打开失败，&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;程序员出一个信息，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;B&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;程序员又出一个信息。而且这样做，非常容易维护。代码也易读。&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;当然，物极必反，也没有必要把所有的输出都放到&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;errmsg&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;中，抽取比较重要的出错信息或是提示信息是其关键，但即使这样，这也包括了大多数的信息。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;12&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、常用函数和循环语句中的被计算量&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;-----------------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;看一下下面这个例子：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;i&lt;/span&gt;&amp;lt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;GetLocalHostName&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;hostname&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　...&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;typ&quot;
twffan=&quot;done&quot;&gt;GetLocalHostName&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的意思是取得当前计算机名，在循环体中，它会被调用&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;次啊。这是多么的没有效率的事啊。应该把这个函数拿到循环体外，这样只调用一次，效率得到了很大的提高。虽然，我们的编译器会进行优化，会把循环体内的不变的东西拿到循环外面，但是，你相信所有编译器会知道哪些是不变的吗？我觉得编译器不可靠。最好还是自己动手吧。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;同样，对于常用函数中的不变量，如：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;GetLocalHostName&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;char&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;funcName&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;&quot;GetLocalHostName&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sys_log&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;%s begin......&quot;&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;funcName&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　...&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sys_log&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;%s end......&quot;&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;funcName&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;如果这是一个经常调用的函数，每次调用时都要对&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;funcName&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;进行分配内存，这个开销很大啊。把这个变量声明成&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;static&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;吧，当函数再次被调用时，就会省去了分配内存的开销，执行效率也很好。&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;13&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、函数名和变量名的命名&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;------------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;我看到许多程序对变量名和函数名的取名很草率，特别是变量名，什么&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;b&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;aa&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;bb&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;cc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，还有什么&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;flag1&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;flag2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;cnt1&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;cnt2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，这同样是一种没有“修养”的行为。即便加上好的注释。好的变量名或是函数名，我认为应该有以下的规则：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;直观并且可以拼读，可望文知意，不必“解码”。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;名字的长度应该即要最短的长度，也要能最大限度的表达其含义。&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;不要全部大写，也不要全部小写，应该大小写都有，如：&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;GetLocalHostName&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;或是&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;UserAccount&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;可以简写，但简写得要让人明白，如：&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;ErrorCode&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;-&lt;/span&gt;&amp;gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;ErrCode&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,　&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;ServerListener&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;-&lt;/span&gt;&amp;gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;ServLisner&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=&quot;done&quot;&gt;UserAccount&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;-&lt;/span&gt;&amp;gt; &lt;span class=&quot;typ&quot;
twffan=&quot;done&quot;&gt;UsrAcct&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;等。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;为了避免全局函数和变量名字冲突，可以加上一些前缀，一般以模块简称做为前缀。&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;全局变量统一加一个前缀或是后缀，让人一看到这个变量就知道是全局的。&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;用匈牙利命名法命名函数参数，局部变量。但还是要坚持“望文生意”的原则。&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;与标准库（如：&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;STL&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;）或开发库（如：&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;MFC&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;）的命名风格保持一致。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;14&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、函数的传值和传指针&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;------------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;向函数传参数时，一般而言，传入非&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的指针时，就表示，在函数中要修改这个指针把指内存中的数据。如果是传值，那么无论在函数内部怎么修改这个值，也影响不到传过来的值，因为传值是只内存拷贝。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;什么？你说这个特性你明白了，好吧，让我们看看下面的这个例程：&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;GetVersion&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;pStr&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;pStr&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;strcpy&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;pStr&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;2.0&quot;&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
main&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;()&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;ver&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;GetVersion&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;ver&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　...&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　...&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;free&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ver&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;我保证，类似这样的问题是一个新手最容易犯的错误。程序中妄图通过函数&lt;/span&gt;&lt;span class=&quot;typ&quot;
twffan=&quot;done&quot;&gt;GetVersion&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;给指针&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ver&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;分配空间，但这种方法根本没有什么作用，原因就是--这是传值，不是传指针。你或许会和我争论，我分明传的时指针啊？再仔细看看，其实，你传的是指针其实是在传值。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;15&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、修改别人程序的修养&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;-----------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;当你维护别人的程序时，请不要非常主观臆断的把已有的程序删除或是修改。我经常看到有的程序员直接在别人的程序上修改表达式或是语句。修改别人的程序时，请不要删除别人的程序，如果你觉得别人的程序有所不妥，请注释掉，然后添加自己的处理程序，必竟，你不可能&lt;/span&gt;&lt;span class=&quot;lit&quot;
twffan=&quot;done&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;%的知道别人的意图，所以为了可以恢复，请不依赖于&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;CVS&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;或是&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;SourceSafe&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;这种版本控制软件，还是要在源码上给别人看到你修改程序的意图和步骤。这是程序维护时，一个有修养的程序员所应该做的。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;如下所示，这就是一种比较好的修改方法：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/*&lt;br&gt;
　　 * ----- commented by haoel 2003/04/12 ------&lt;br&gt;
　　 *&lt;br&gt;
　　 *　 char* p = ( char* ) malloc( 10 );&lt;br&gt;
　　 *　 memset( p, 0, 10 );&lt;br&gt;
　　 */&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* ------
Added by haoel　 2003/04/12 ----- */&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;p&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;calloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;sizeof&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;char&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/*
---------------------------------------- */&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　...&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;当然，这种方法是在软件维护时使用的，这样的方法，可以让再维护的人很容易知道以前的代码更改的动作和意图，而且这也是对原作者的一种尊敬。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;以“注释&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;-&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;添加”方式修改别人的程序，要好于直接删除别人的程序。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot;
twffan=&quot;done&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、把相同或近乎相同的代码形成函数和宏&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;---------------------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;有人说，最好的程序员，就是最喜欢“偷懒”的程序，其中不无道理。&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;如果你有一些程序的代码片段很相似，或直接就是一样的，请把他们放在一个函数中。而如果这段代码不多，而且会被经常使用，你还想避免函数调用的开销，那么就把他写成宏吧。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;千万不要让同一份代码或是功能相似的代码在多个地方存在，不然如果功能一变，你就要修改好几处地方，这种会给维护带来巨大的麻烦，所以，做到“一改百改”，还是要形成函数或是宏。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;17&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、表达式中的括号&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;---------&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;如果一个比较复杂的表达式中，你并不是很清楚各个操作符的忧先级，即使是你很清楚优先级，也请加上括号，不然，别人或是自己下一次读程序时，一不小心就看走眼理解错了，为了避免这种“误解”，还有让自己的程序更为清淅，还是加上括号吧。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;比如，对一个结构的成员取地址：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;GetUserAge&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&amp;amp;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;typ&quot;
twffan=&quot;done&quot;&gt;UserInfo&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;-&lt;/span&gt;&amp;gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;age&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;虽然，&lt;/span&gt;&amp;amp;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;UserInfo&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;-&lt;/span&gt;&amp;gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;age&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;中，-&lt;/span&gt;&amp;gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;操作符的优先级最高，但加上一个括号，会让人一眼就看明白你的代码是什么意思。&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;再比如，一个很长的条件判断：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ch&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;]&lt;/span&gt; &amp;gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'0'&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ch&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;]&lt;/span&gt; &amp;lt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'9'&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &amp;amp;&amp;amp; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;ch&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;1&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;]&lt;/span&gt; &amp;gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'a'&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ch&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;1&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;]&lt;/span&gt; &amp;lt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'z'&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &amp;amp;&amp;amp; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;ch&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;2&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;]&lt;/span&gt; &amp;gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'A'&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ch&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;2&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;]&lt;/span&gt; &amp;lt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'Z'&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)　　)&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;括号，再加上空格和换行，你的代码是不是很容易读懂了？　　&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;18&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、函数参数中的&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;-----------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;对于一些函数中的指针参数，如果在函数中只读，请将其用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;修饰，这样，别人一读到你的函数接口时，就会知道你的意图是这个参数是[&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;]，如果没有&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;时，参数表示[&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;]，注意函数接口中的&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;使用，利于程序的维护和避免犯一些错误。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;虽然，&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;修饰的指针，如：&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;const&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，在&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;中一点用也没有，因为不管你的声明是不是&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，指针的内容照样能改，因为编译器会强制转换，但是加上这样一个说明，有利于程序的阅读和编译。因为在&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;中，修改一个&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;指针所指向的内存时，会报一个&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Warning&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;。这会引起程序员的注意。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;++中对&lt;/span&gt;&lt;span class=
&quot;kwd&quot; twffan=&quot;done&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;定义的就很严格了，所以&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++中要多多的使用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的成员函数，&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的变量，这样会对让你的代码和你的程序更加完整和易读。（关于&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++的&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;我就不多说了）&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;19&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、函数的参数个数（多了请用结构）&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;-----------------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;函数的参数个数最好不要太多，一般来说&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;个左右就可以了，众多的函数参数会让读代码的人一眼看上去就很头昏，而且也不利于维护。如果参数众多，还请使用结构来传递参数。这样做有利于数据的封装和程序的简洁性。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;也利于使用函数的人，因为如果你的函数个数很多，比如&lt;/span&gt;&lt;span class=&quot;lit&quot;
twffan=&quot;done&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;个，调用者很容易搞错参数的顺序和个数，而使用结构&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;struct&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;来传递参数，就可以不管参数的顺序。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;而且，函数很容易被修改，如果需要给函数增加参数，不需要更改函数接口，只需更改结构体和函数内部处理，而对于调用函数的程序来说，这个动作是透明的。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;20&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、函数的返回类型，不要省略&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;--------------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;我看到很多程序写函数时，在函数的返回类型方面不太注意。如果一个函数没有返回值，也请在函数前面加上&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的修饰。而有的程序员偷懒，在返回&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的函数则什么不修饰（因为如果不修饰，则默认返回&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;），这种习惯很不好，还是为了原代码的易读性，加上&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;吧。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;所以函数的返回值类型，请不要省略。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;另外，对于&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的函数，我们往往会忘了&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，由于某些&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;/&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++的编译器比较敏感，会报一些警告，所以即使是&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的函数，我们在内部最好也要加上&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的语句，这有助于代码的编译。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;21&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;goto&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;语句的使用&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;---------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
N&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;年前，软件开发的一代宗师--迪杰斯特拉(&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Dijkstra&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;)说过：“&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;goto&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;statment&lt;/span&gt; &lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;is&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;harmful&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;!!”，并建议取消&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;goto&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;语句。因为&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;goto&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;语句不利于程序代码的维护性。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;这里我也强烈建议不要使用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;goto&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;语句，除非下面的这种情况：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=
&quot;com&quot; twffan=&quot;done&quot;&gt;#define FREE(p) if(p) {&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　　　　　　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;free&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;p&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　　　　　　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;p&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　　　　　　}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　{&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;char&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;fname&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;lname&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;mname&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;fname&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;calloc&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;fname&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;==&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;){&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;goto&lt;/span&gt;
&lt;span class=&quot;typ&quot; twffan=&quot;done&quot;&gt;ErrHandle&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;lname&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;calloc&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;lname&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;==&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;){&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;goto&lt;/span&gt;
&lt;span class=&quot;typ&quot; twffan=&quot;done&quot;&gt;ErrHandle&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;mname&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;calloc&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;mname&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;==&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;){&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;goto&lt;/span&gt;
&lt;span class=&quot;typ&quot; twffan=&quot;done&quot;&gt;ErrHandle&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　......&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;ErrHandle&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;:&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;FREE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;fname&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;FREE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;lname&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;FREE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;mname&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;ReportError&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;ERR_NO_MEMOEY&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;也只有在这种情况下，&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;goto&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;语句会让你的程序更易读，更容易维护。（在用嵌&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;来对数据库设置游标操作时，或是对数据库建立链接时，也会遇到这种结构）&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;22&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、宏的使用&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;------&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;很多程序员不知道&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;中的“宏”到底是什么意思？特别是当宏有参数的时候，经常把宏和函数混淆。我想在这里我还是先讲讲“宏”，宏只是一种定义，他定义了一个语句块，当程序编译时，编译器首先要执行一个“替换”源程序的动作，把宏引用的地方替换成宏定义的语句块，就像文本文件替换一样。这个动作术语叫“宏的展开”&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;使用宏是比较“危险”的，因为你不知道宏展开后会是什么一个样子。例如下面这个宏：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=
&quot;done&quot;&gt;#define　MAX(a, b)　　 a&amp;gt;b?a:b&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;当我们这样使用宏时，没有什么问题：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;MAX&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;num1&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;num2&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;因为宏展开后变成&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;num1&lt;/span&gt;&amp;gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;num2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;num1&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;num2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;；。但是，如果是这样调用的，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;MAX&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;17&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;21&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;呢，编译时出现错误，原因是，宏展开后变成：&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;17&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;32&lt;/span&gt;&amp;gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;21&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;17&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;21&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;，哇，这是什么啊？&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;所以，宏在使用时，参数一定要加上括号，上述的那个例子改成如下所示就能解决问题了。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define　MAX(
(a), (b) )　　 (a)&amp;gt;(b)?(a):(b)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;即使是这样，也不这个宏也还是有&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Bug&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;，因为如果我这样调用&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;MAX&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;i&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;++,&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;++);&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;，经过这个宏以后，&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;和&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;j&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;都被累加了两次，这绝不是我们想要的。&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;所以，在宏的使用上还是要谨慎考虑，因为宏展开是的结果是很难让人预料的。而且虽然，宏的执行很快（因为没有函数调用的开销），但宏会让源代码澎涨，使目标文件尺寸变大，（如：一个&lt;/span&gt;&lt;span class=&quot;lit&quot;
twffan=&quot;done&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;行的宏，程序中有&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;个地方用到，宏展开后会很不得了），相反不能让程序执行得更快（因为执行文件变大，运行时系统换页频繁）。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;因此，在决定是用函数，还是用宏时得要小心。&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;23&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;static&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;的使用&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;--------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;static&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;关键字，表示了“静态”，一般来说，他会被经常用于变量和函数。一个&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;static&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的变量，其实就是全局变量，只不过他是有作用域的全局变量。比如一个函数中的&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;static&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;变量：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
getConsumerName&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;static&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;cnt&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　....&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;cnt&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;++;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　....&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
cnt&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;变量的值会跟随着函数的调用次而递增，函数退出后，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;cnt&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的值还存在，只是&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;cnt&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;只能在函数中才能被访问。而&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;cnt&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的内存也只会在函数第一次被调用时才会被分配和初始化，以后每次进入函数，都不为&lt;/span&gt;&lt;span class=
&quot;kwd&quot; twffan=&quot;done&quot;&gt;static&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;分配了，而直接使用上一次的值。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;对于一些被经常调用的函数内的常量，最好也声明成&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;static&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;（参见第&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;条）&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;但&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;static&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的最多的用处却不在这里，其最大的作用的控制访问，在&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;中如果一个函数或是一个全局变量被声明为&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;static&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，那么，这个函数和这个全局变量，将只能在这个&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件中被访问，如果别的&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件中调用这个&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件中的函数，或是使用其中的全局（用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;extern&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;关键字），将会发生链接时错误。这个特性可以用于数据和程序保密。&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;24&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、函数中的代码尺寸&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;----------&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;一个函数完成一个具体的功能，一般来说，一个函数中的代码最好不要超过&lt;/span&gt;&lt;span class=
&quot;lit&quot; twffan=&quot;done&quot;&gt;600&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;行左右，越少越好，最好的函数一般在&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;行以内，&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;300&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;行左右的孙函数就差不多了。有证据表明，一个函数中的代码如果超过&lt;/span&gt;&lt;span class=&quot;lit&quot;
twffan=&quot;done&quot;&gt;500&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;行，就会有和别的函数相同或是相近的代码，也就是说，就可以再写另一个函数。&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;另外，函数一般是完成一个特定的功能，千万忌讳在一个函数中做许多件不同的事。函数的功能越单一越好，一方面有利于函数的易读性，另一方面更有利于代码的维护和重用，功能越单一表示这个函数就越可能给更多的程序提供服务，也就是说共性就越多。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;虽然函数的调用会有一定的开销，但比起软件后期维护来说，增加一些运行时的开销而换来更好的可维护性和代码重用性，是很值得的一件事。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;25&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;的使用&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;---------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;是一个给类型起别名的关键字。不要小看了它，它对于你代码的维护会有很好的作用。比如&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;中没有&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;bool&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，于是在一个软件中，一些程序员使用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，一些程序员使用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;short&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，会比较混乱，最好就是用一个&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;来定义，如：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;char&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;bool&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;一般来说，一个&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的工程中一定要做一些这方面的工作，因为你会涉及到跨平台，不同的平台会有不同的字长，所以利用预编译和&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;typedef&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;可以让你最有效的维护你的代码，如下所示：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#ifdef
SOLARIS2_5&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;typedef&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;boolean_t&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;BOOL_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#else&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;BOOL_T&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#endif&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;typedef&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;short&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;INT16_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;short&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;UINT16_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;INT32_T&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;typedef&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;UINT32_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#ifdef WIN32&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;_int64&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;INT64_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#else&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;long&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;long&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;INT64_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=
&quot;done&quot;&gt;#endif&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;float&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;FLOAT32_T&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;typedef&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;*　　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;STRING_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;BYTE_T&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;typedef&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;time_t&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;TIME_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;INT32_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;PID_T&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;使用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的其它规范是，在结构和函数指针时，也最好用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，这也有利于程序的易读和可维护性。如：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;typedef&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;_hostinfo&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;HOSTID_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;host&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;INT32_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;hostId&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;STRING_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;hostType&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;STRING_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;hostModel&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;FLOAT32_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;cpuFactor&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;INT32_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;numCPUs&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;INT32_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;nDisks&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;INT32_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;memory&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;INT32_T&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;swap&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　}&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;HostInfo&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=
&quot;kwd&quot; twffan=&quot;done&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;INT32_T&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(*&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;RsrcReqHandler&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;)(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;JobArray&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;jobs&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;AllocInfo&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;allocInfo&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;AllocList&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;allocList&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;++中这样也是很让人易读的：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;CArray&lt;/span&gt;&amp;lt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;HostInfo&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;typ&quot; twffan=&quot;done&quot;&gt;HostInfo&lt;/span&gt;&amp;amp;&amp;gt;
&lt;span class=&quot;typ&quot; twffan=&quot;done&quot;&gt;HostInfoArray&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;于是，当我们用其定义变量时，会显得十分易读。如：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;HostInfo&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;phinfo&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;RsrcReqHandler&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pRsrcHand&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;这种方式的易读性，在函数的参数中十分明显。&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;关键是在程序种使用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;typedef&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;后，几乎所有的程序中的类型声明都显得那么简洁和清淅，而且易于维护，这才是&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;typedef&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的关键。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;26&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、为常量声明宏&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;--------&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;最好不要在程序中出现数字式的“硬编码”，如：&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;user&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;为这个&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;声明一个宏吧。为所有出现在程序中的这样的常量都声明一个宏吧。比如&lt;/span&gt;&lt;span class=&quot;typ&quot;
twffan=&quot;done&quot;&gt;TimeOut&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的时间，最大的用户数量，还有其它，只要是常量就应该声明成宏。如果，突然在程序中出现下面一段代码，&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;for&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;&lt;span class=
&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;i&lt;/span&gt;&amp;lt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++){&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　....&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;是什么？为什么会是&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;？这种“硬编码”不仅让程序很读，而且也让程序很不好维护，如果要改变这个数字，得同时对所有程序中这个&lt;/span&gt;&lt;span class=&quot;lit&quot;
twffan=&quot;done&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;都要做修改，这对修改程序的人来说是一个很大的痛苦。所以还是把常量声明成宏，这样，一改百改，而且也很利于程序阅读。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define
MAX_USR_CNT 120&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;for&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;&lt;span class=
&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;i&lt;/span&gt;&amp;lt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;MAX_USER_CNT&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++){&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　....&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;这样就很容易了解这段程序的意图了。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;有的程序员喜欢为这种变量声明全局变量，其实，全局变量应该尽量的少用，全局变量不利于封装，也不利于维护，而且对程序执行空间有一定的开销，一不小心就造成系统换页，造成程序执行速度效率等问题。所以声明成宏，即可以免去全局变量的开销，也会有速度上的优势。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;27&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、不要为宏定义加分号&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;-----------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;有许多程序员不知道在宏定义时是否要加分号，有时，他们以为宏是一条语句，应该要加分号，这就错了。当你知道了宏的原理，你会赞同我为会么不要为宏定义加分号的。看一个例子：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define
MAXNUM 1024;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;这是一个有分号的宏，如果我们这样使用：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;half&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;MAXNUM&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;2&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;num&lt;/span&gt; &amp;lt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;MAXNUM&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;等等，都会造成程序的编译错误，因为，当宏展开后，他会是这个样子的：&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;half&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;1024&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;;/&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;num&lt;/span&gt; &amp;lt; &lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;1024&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;是的，分号也被展进去了，所以造成了程序的错误。请相信我，有时候，一个分号会让你的程序出现成百个错误。所以还是不要为宏加最后一个分号，哪怕是这样：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define
LINE　　&quot;=================================&quot;&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define
PRINT_LINE　printf(LINE)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define
PRINT_NLINE(n)　while ( n-- &amp;gt;0 ) { PRINT_LINE; }&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;都不要在最后加上分号，当我们在程序中使用时，为之加上分号，&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　{&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;char&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;LINE&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;PRINT_LINE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;这一点非常符合习惯，而且，如果忘加了分号，编译器给出的错误提示，也会让我们很容易看懂的。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot;
twffan=&quot;done&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;、||和&lt;/span&gt;&amp;amp;&amp;amp;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的语句执行顺序&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;------------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;条件语句中的这两个“与”和“或”操作符一定要小心，它们的表现可能和你想像的不一样，这里条件语句中的有些行为需要和说一下：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;express1&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;||&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;express2&lt;br&gt;&lt;/span&gt; &lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　先执行表达式&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;express1&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;如果为“真”，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;express2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;将不被执行，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;express2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;仅在&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;express1&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;为“假”时才被执行。因为第一个表达式为真了，整个表达式都为真，所以没有必要再去执行第二个表达式了。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;express1&lt;/span&gt; &amp;amp;&amp;amp; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;express2&lt;br&gt;&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　先执行表达式&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;express1&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;如果为“假”，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;express2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;将不被执行，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;express2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;仅在&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;express1&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;为“真”时才被执行。因为第一个表达式为假了，整个表达式都为假了，所以没有必要再去执行第二个表达式了。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;于是，他并不是你所想像的所有的表达式都会去执行，这点一定要明白，不然你的程序会出现一些莫明的运行时错误。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;例如，下面的程序：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=
&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sum&lt;/span&gt; &amp;gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;100&lt;/span&gt; &amp;amp;&amp;amp; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;fp&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;fopen&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;a&quot;&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;!=&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;)　&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;fprintf&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;fp&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;&quot;Warring: it beyond one
hundredn&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;......&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;fprintf&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;fp&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;&quot; sum is %id
n&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;sum&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;fclose&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;fp&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;本来的意图是，如果&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sum&lt;/span&gt;
&amp;gt; &lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;100&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=
&quot;done&quot;&gt;，向文件中写一条出错信息，为了方便，把两个条件判断写在一起，于是，如果&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;sum&lt;/span&gt;&amp;lt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;时，打开文件的操作将不会做，最后，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;fprintf&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;和&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;fclose&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;就会发现未知的结果。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;再比如，如果我想判断一个字符是不是有内容，我得判断这个字符串指针是不为空（&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;）并且其内容不能为空（&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Empty&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;），一个是空指针，一个是空内容。我也许会这样写：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;if&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;p&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&amp;amp;&amp;amp; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;strlen&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;p&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;于是，如果&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;为&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，那么&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;strlen&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;p&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;)就不会被执行，于是，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;strlen&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;也就不会因为一个空指针而“非法操作”或是一个“&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Core&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Dump&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;”了。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;记住一点，条件语句中，并非所有的语句都会执行，当你的条件语句非常多时，这点要尤其注意。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;29&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、尽量用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;而不是&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;做循环&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;---------------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;基本上来说，&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;可以完成&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的功能，我是建议尽量使用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;语句，而不要使用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;语句，特别是当循环体很大时，&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的优点一下就体现出来了。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;因为在&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;中，循环的初始、结束条件、循环的推进，都在一起，一眼看上去就知道这是一个什么样的循环。刚出学校的程序一般对于链接喜欢这样来：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;p&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pHead&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;while&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　...&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　...&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;p&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;-&lt;/span&gt;&amp;gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　}&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;当&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的语句块变大后，你的程序将很难读，用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;就好得多：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;for&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;pHead&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;;　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;p&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;-&lt;/span&gt;&amp;gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;next&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　..&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;一眼就知道这个循环的开始条件，结束条件，和循环的推进。大约就能明白这个循环要做个什么事？而且，程序维护进来很容易，不必像&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;一样，在一个编辑器中上上下下的捣腾。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;30&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、请&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;类型而不是变量&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;-------------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;许多程序员在使用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;中，喜欢&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;变量名，例如：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;score&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;char&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;UserInfo&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;在&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;这三个的变量名时，都会返回正确的结果，于是许多程序员就开始&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;变量名。这个习惯很虽然没有什么不好，但我还是建议&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;类型。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;我看到过这个的程序：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;pScore&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*)&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;SUBJECT_CNT&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;memset&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;pScore&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pScore&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　...&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;此时，&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;pScore&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;)返回的就是&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;（指针的长度），不会是整个数组，于是，&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;memset&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;就不能对这块内存进行初始化。为了程序的易读和易维护，我强烈建议使用类型而不是变量，如：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;对于&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;score&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;：　　&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　&lt;/span&gt;
&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 100个int */&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;对于&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;：　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　&lt;/span&gt;
&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 20个char */&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;对于&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;：　　　&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;struct&lt;/span&gt;
&lt;span class=&quot;typ&quot; twffan=&quot;done&quot;&gt;UserInfo&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　&lt;/span&gt; &lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/* 100个UserInfo
*/&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;这样的代码是不是很易读？一眼看上去就知道什么意思了。&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;另外一点，&lt;/span&gt;&lt;span class=
&quot;kwd&quot; twffan=&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;一般用于分配内存，这个特性特别在多维数组时，就能体现出其优点了。如，给一个字符串数组分配内存，&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;com&quot;
twffan=&quot;done&quot;&gt;/*&lt;br&gt;
* 分配一个有20个字符串，&lt;br&gt;
* 每个字符串长100的内存&lt;br&gt;
*/&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=
&quot;kwd&quot; twffan=&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;p&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/*&lt;br&gt;
* 错误的分配方法&lt;br&gt;
*/&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
p&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;**)&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;calloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/*&lt;br&gt;
* 正确的分配方法&lt;br&gt;
*/&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
p&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;**)&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;calloc&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;for&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt;&lt;span class=
&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;i&lt;/span&gt;&amp;lt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++){&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;/*p = (char*)
calloc ( 100, sizeof(char) );*/&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;p&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*)&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;calloc&lt;/span&gt; &lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;sizeof&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;（注：上述语句被注释掉的是原来的，是错误的，由&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;dasherest&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;朋友指正，谢谢）&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;为了代码的易读，省去了一些判断，请注意这两种分配的方法，有本质上的差别。&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;31&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、不要忽略&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Warning&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;----------&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;对于一些编译时的警告信息，请不要忽视它们。虽然，这些&lt;/span&gt;&lt;span class=&quot;typ&quot;
twffan=&quot;done&quot;&gt;Warning&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;不会妨碍目标代码的生成，但这并不意味着你的程序就是好的。必竟，并不是编译成功的程序才是正确的，编译成功只是万里长征的第一步，后面还有大风大浪在等着你。从编译程序开始，不但要改正每个&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，还要修正每个&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;warning&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;。这是一个有修养的程序员该做的事。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;一般来说，一面的一些警告信息是常见的：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;）声明了未使用的变量。（虽然编译器不会编译这种变量，但还是把它从源程序中注释或是删除吧）&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;）使用了隐晦声明的函数。（也许这个函数在别的&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;文件中，编译时会出现这种警告，你应该这使用之前使用&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;extern&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;关键字声明这个函数）&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;）没有转换一个指针。（例如&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;malloc&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;返回的指针是&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;的，你没有把之转成你实际类型而报警，还是手动的在之前明显的转换一下吧）&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;）类型向下转换。（例如：&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;float&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;f&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;.&lt;/span&gt;&lt;span class=
&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;这种语句是会报警告的，编译会告诉你正试图把一个&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;转成&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;float&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，你正在阉割一个变量，你真的要这样做吗？还是在&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;.&lt;/span&gt;&lt;span class=
&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;后面加个&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;吧，不然，&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;.&lt;/span&gt;&lt;span class=
&quot;lit&quot; twffan=&quot;done&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;就是一个&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，而不是&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;float&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;了）&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;不管怎么说，编译器的&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Warning&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;不要小视，最好不要忽略，一个程序都做得出来，何况几个小小的&lt;/span&gt;&lt;span class=&quot;typ&quot;
twffan=&quot;done&quot;&gt;Warning&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;呢？&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=&quot;done&quot;&gt;32&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;、书写&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Debug&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;版和&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Release&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;版的程序&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;----------------&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;程序在开发过程中必然有许多程序员加的调试信息。我见过许多项目组，当程序开发结束时，发动群众删除程序中的调试信息，何必呢？为什么不像&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;VC&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;++那样建立两个版本的目标代码？一个是&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;debug&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;版本的，一个是&lt;/span&gt;&lt;span class=&quot;typ&quot; twffan=
&quot;done&quot;&gt;Release&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;版的。那些调试信息是那么的宝贵，在日后的维护过程中也是很宝贵的东西，怎么能说删除就删除呢？&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;利用预编译技术吧，如下所示声明调试函数：&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#ifdef DEBUG&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;TRACE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;fmt&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;...)&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　{&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　　　　　......&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;　　　　}&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#else&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#define
TRACE(char* fmt, ...)&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;com&quot; twffan=&quot;done&quot;&gt;#endif&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;于是，让所有的程序都用&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;TRACE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;输出调试信息，只需要在在编译时加上一个参数“-&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;DDEBUG&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;”，如：&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;cc&lt;/span&gt;
&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;DDEBUG&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;o target
target&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;.&lt;/span&gt;&lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;c&lt;br&gt;&lt;/span&gt; &lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;于是，预编译器发现&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;DEBUG&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;变量被定义了，就会使用&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;TRACE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;函数。而如果要发布给用户了，那么只需要把取消“-&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;DDEBUG&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;”的参数，于是所有用到&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;TRACE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;宏，这个宏什么都没有，所以源程序中的所有&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;TRACE&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;语言全部被替换成了空。一举两得，一箭双雕，何乐而不为呢？&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;顺便提一下，两个很有用的系统宏，一个是“&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;__FILE__&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;”，一个是“&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;__LINE__&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;”，分别表示，所在的源文件和行号，当你调试信息或是输出错误时，可以使用这两个宏，让你一眼就能看出你的错误，出现在哪个文件的第几行中。这对于用&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;C&lt;/span&gt;&lt;span class=
&quot;pun&quot; twffan=&quot;done&quot;&gt;++做的大工程非常的管用。&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;综上所述&lt;/span&gt;&lt;span class=
&quot;lit&quot; twffan=&quot;done&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;条，都是为了三大目的--&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、程序代码的易读性。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、程序代码的可维护性，&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt;&lt;span class=&quot;lit&quot; twffan=
&quot;done&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=&quot;done&quot;&gt;、程序代码的稳定可靠性。&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;　　&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;有修养的程序员，就应该要学会写出这样的代码！这是任何一个想做编程高手所必需面对的细小的问题，编程高手不仅技术要强，基础要好，而且最重要的是要有“修养”！&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;好的软件产品绝不仅仅是技术，而更多的是整个软件的易维护和可靠性。　　&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;软件的维护有大量的工作量花在代码的维护上，软件的&lt;/span&gt;&lt;span class=&quot;typ&quot;
twffan=&quot;done&quot;&gt;Upgrade&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;，也有大量的工作花在代码的组织上，所以好的代码，清淅的，易读的代码，将给大大减少软件的维护和升级成本。&lt;/span&gt;&lt;/div&gt;</description><pubDate>Sat, 16 Jun 2007 23:41:12 +0800</pubDate><author>win4sm</author><comments>http://www.i170.com/Article/70734#comment</comments><guid isPermaLink="false">http://www.i170.com/Article/70734</guid><dc:creator>win4sm</dc:creator><fs:srclink>http://www.i170.com/Article/70734</fs:srclink><fs:srcfeed>http://www.i170.com/user/win4sm/RSS</fs:srcfeed><fs:itemid>feedsky/win4sm/~1471960/567477669/1491936</fs:itemid></item><item><title>婚前婚后 (转载)</title><link>http://www.i170.com/Article/70699</link><trackback:ping>http://www.i170.com/Article/70699/trackback</trackback:ping><wfw:commentRss>http://www.i170.com/Article/70699/commentRss</wfw:commentRss><description>&lt;p&gt;&lt;strong&gt;结婚前：&lt;br&gt;&lt;/strong&gt;他：万岁！终于到来了！我都等不及了！&lt;br&gt;
她：我可以离开吗？&lt;br&gt;
他：不，你甚至想都别想！&lt;br&gt;
她：你爱我吗？&lt;br&gt;
他：当然！&lt;/p&gt;
&lt;p class=&quot;partingline&quot;&gt;[separator]&lt;/p&gt;
&lt;p&gt;&lt;br&gt;
她：你会背叛我吗？&lt;br&gt;
他：不会，你怎么会有这样想法？&lt;br&gt;
她：你会吻我吗？&lt;br&gt;
他：会的&lt;br&gt;
她：你会打我吗？&lt;br&gt;
他：无论如何都不&lt;br&gt;
她：我能相信你吗？&lt;/p&gt;
&lt;p&gt;&lt;br&gt;
&lt;strong&gt;结婚后从下往上看。&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;实在是太有才了……&lt;img twffan=&quot;done&quot; alt=&quot;&quot; src=
&quot;/htmledit/editor/images/smiley/msn/teeth_smile.gif&quot;&gt;&lt;/p&gt;</description><pubDate>Sat, 16 Jun 2007 19:21:54 +0800</pubDate><author>win4sm</author><comments>http://www.i170.com/Article/70699#comment</comments><guid isPermaLink="false">http://www.i170.com/Article/70699</guid><dc:creator>win4sm</dc:creator><fs:srclink>http://www.i170.com/Article/70699</fs:srclink><fs:srcfeed>http://www.i170.com/user/win4sm/RSS</fs:srcfeed><fs:itemid>feedsky/win4sm/~1471960/567477670/1491936</fs:itemid></item><item><title>SQL的扩展的删除与恢复</title><link>http://www.i170.com/Article/70600</link><trackback:ping>http://www.i170.com/Article/70600/trackback</trackback:ping><wfw:commentRss>http://www.i170.com/Article/70600/commentRss</wfw:commentRss><description>&lt;div class=&quot;prettyprint&quot; id=&quot;C&quot; twffan=&quot;done&quot;&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;&lt;font style=
&quot;background-color: #ffffff&quot;&gt;&lt;strong&gt;删除&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;use&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;master&lt;br&gt;&lt;/span&gt; &lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'xp_cmdshell'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'xp_dirtree'&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'xp_enumgroups'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'xp_fixeddrives'&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'xp_loginconfig'&lt;/span&gt;
&lt;p class=&quot;partingline&quot;&gt;[separator]&lt;/p&gt;
&lt;br&gt;
&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot;
twffan=&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'xp_enumerrorlogs'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'xp_getfiledetails'&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'Sp_OACreate'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'Sp_OADestroy'&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'Sp_OAGetErrorInfo'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'Sp_OAGetProperty'&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'Sp_OAMethod'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'Sp_OASetProperty'&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'Sp_OAStop'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'Xp_regaddmultistring'&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'Xp_regdeletekey'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'Xp_regdeletevalue'&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'Xp_regenumvalues'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'Xp_regread'&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=
&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt; &lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'Xp_regremovemultistring'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_dropextendedproc&lt;/span&gt;
&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'Xp_regwrite'&lt;/span&gt; &lt;span class=
&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;
drop procedure sp_makewebtask&lt;br&gt;
go&lt;br&gt;
&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;&lt;strong&gt;恢复&lt;/strong&gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;use&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;master&lt;br&gt;&lt;/span&gt; &lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_addextendedproc xp_cmdshell&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'xp_cmdshell.dll'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_addextendedproc
xp_dirtree&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'xpstar.dll'&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_addextendedproc xp_enumgroups&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'xplog70.dll'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_addextendedproc
xp_fixeddrives&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'xpstar.dll'&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_addextendedproc xp_loginconfig&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'xplog70.dll'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_addextendedproc
xp_enumerrorlogs&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'xpstar.dll'&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_addextendedproc xp_getfiledetails&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'xpstar.dll'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_addextendedproc
sp_OACreate&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'odsole70.dll'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_addextendedproc
sp_OADestroy&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'odsole70.dll'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_addextendedproc
sp_OAGetErrorInfo&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'odsole70.dll'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_addextendedproc
sp_OAGetProperty&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'odsole70.dll'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_addextendedproc
sp_OAMethod&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'odsole70.dll'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_addextendedproc
sp_OASetProperty&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'odsole70.dll'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_addextendedproc
sp_OAStop&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'odsole70.dll'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_addextendedproc
xp_regaddmultistring&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'xpstar.dll'&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_addextendedproc xp_regdeletekey&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'xpstar.dll'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_addextendedproc
xp_regdeletevalue&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'xpstar.dll'&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_addextendedproc xp_regenumvalues&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'xpstar.dll'&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot; twffan=&quot;done&quot;&gt;exec&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;sp_addextendedproc
xp_regread&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'xpstar.dll'&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_addextendedproc
xp_regremovemultistring&lt;/span&gt;&lt;span class=&quot;pun&quot; twffan=
&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=&quot;done&quot;&gt;'xpstar.dll'&lt;/span&gt;
&lt;span class=&quot;pln&quot; twffan=&quot;done&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;span class=&quot;kwd&quot;
twffan=&quot;done&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;pln&quot; twffan=
&quot;done&quot;&gt;sp_addextendedproc xp_regwrite&lt;/span&gt;&lt;span class=&quot;pun&quot;
twffan=&quot;done&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot; twffan=
&quot;done&quot;&gt;'xpstar.dll'&lt;/span&gt;&lt;/div&gt;</description><pubDate>Fri, 15 Jun 2007 22:25:07 +0800</pubDate><author>win4sm</author><comments>http://www.i170.com/Article/70600#comment</comments><guid isPermaLink="false">http://www.i170.com/Article/70600</guid><dc:creator>win4sm</dc:creator><fs:srclink>http://www.i170.com/Article/70600</fs:srclink><fs:srcfeed>http://www.i170.com/user/win4sm/RSS</fs:srcfeed><fs:itemid>feedsky/win4sm/~1471960/567477671/1491936</fs:itemid></item><item><title>经典古文名句249条</title><link>http://www.i170.com/Article/70596</link><trackback:ping>http://www.i170.com/Article/70596/trackback</trackback:ping><wfw:commentRss>http://www.i170.com/Article/70596/commentRss</wfw:commentRss><description>&lt;p&gt;1．如切如磋，如琢如磨。（《诗经·卫风·湛奥》）&lt;br&gt;
2．言者无罪，闻者足戒。（《诗经·大序》）&lt;br&gt;
3．它山之石，可以攻玉。（《诗经·小雅·鹤鸣》）&lt;br&gt;
4．投我以桃，报之以李。（《诗经·大雅·抑》）&lt;br&gt;
5．靡不有初，鲜克有终。（《诗经·大雅·荡》）&lt;br&gt;
6．长太息以掩涕兮，哀民生之多艰。（屈原（离骚》）&lt;br&gt;
7．路漫漫其修远兮，吾将上下而求索。（屈原（离骚》）&lt;br&gt;
8．吾不能变心以从俗兮，团将愁苦而终穷。（屈原《涉江》）&lt;br&gt;
9．尺有所短，寸有所长。（《楚辞·卜居》）&lt;br&gt;
10．亦余心之所善兮，虽九死其犹未悔。（楚辞（离骚》）&lt;/p&gt;
&lt;p class=&quot;partingline&quot;&gt;[separator]&lt;/p&gt;
&lt;p&gt;&lt;br&gt;
11．其曲弥高，其和弥寡。（宋玉（对楚王问》）&lt;br&gt;
12．满招损，谦受益。（《尚书》）&lt;br&gt;
13．欲加之罪，何患无辞。（《左传·僖公十年》）&lt;br&gt;
14．人非圣贤，孰能无过？过而能改，善莫大焉。（《左传》）&lt;br&gt;
15．辅车相依，唇亡齿寒。（《左传·僖公五年》）&lt;br&gt;
16．武夫力而拘诸原，妇人暂而免诸国。（《左传·僖公三十二年至三十三年》）&lt;br&gt;
17．前事不忘，后事之师。（《战国策·赵策））&lt;br&gt;
18．亡羊补牢，犹未迟也。（《战国策·楚策》）&lt;br&gt;
19．知己知彼，百战不殆。（《孙子兵法·谋攻》）&lt;br&gt;
20．千里之行，始于足下。（《老子·六十四章））&lt;br&gt;
21．祸兮福之所倚，福兮祸之所伏。（《老子·五十八章））&lt;br&gt;
22．天网恢恢，疏而不漏。（《老子·七十三章））&lt;br&gt;
23．知人者智，自知者明。（《老子））&lt;br&gt;
24．物以类聚，人以群分。（《易经））&lt;br&gt;
25．工欲善其事，必先利其器。（《论语·卫灵公》）&lt;br&gt;
26．往者不可谏，来者犹可追。（《论语·微子））&lt;br&gt;
27．己所不欲，勿施于人。（《论语·颜渊》）&lt;br&gt;
28．三军可夺帅也，匹夫不可夺志也。（《论语·子罕》）&lt;br&gt;
29．学而不思则罔，思而不学则殆。（《论语·为政》）&lt;br&gt;
30．学而不厌，诲人不倦。（《论语·述两》）&lt;br&gt;
31．君子坦荡荡，小人常戚戚。（《论语·述而》）&lt;br&gt;
32．人无远虑，必有近忧。（《论语·卫灵公））&lt;br&gt;
33．言必信，行必果。（《论语·子路））&lt;br&gt;
34．与朋友交，言而有信。（《论语·学而））&lt;br&gt;
35．有则改之，无则加勉。（《论语》）&lt;br&gt;
36．是可忍，孰不可忍。（《论语·八佾））&lt;br&gt;
37．敏而好学，不耻下问。（《论语·公冶长））&lt;br&gt;
38．吾生也有涯，而知也无涯。（《庄子·养生主））&lt;br&gt;
39．十年树木，百年树人。（《管子·权修》）&lt;br&gt;
40．橘生淮南则为橘，生于谁北则为枳。（《晏子春秋》）&lt;br&gt;
41．达则兼济天下，穷则独善其身。（《孟子·尽心上））&lt;br&gt;
42．老吾老，以及人之老；幼吾幼，以及人之幼。（《孟子·梁惠王下））&lt;br&gt;
43．天时不如地利，地利不如人和。（《孟子·公孙丑））&lt;br&gt;
44．民为贵，社稷次之，君为轻。（《孟子·尽心上））&lt;br&gt;
45．得道者多助，失道者寡助。（《孟子·公孙丑））&lt;br&gt;
46．生于优患，死于安乐。（《孟子·告于下》）&lt;br&gt;
47．富贵不能淫，贫贱不能移，威武不能屈。（《孟子·滕文公下》）&lt;br&gt;
48．尽信书，不如无书。（《孟子·尽心下》）&lt;br&gt;
49．生，亦我所欲也；义，亦我所欲也；二者不可得兼，舍生而取义者也。（《孟子·鱼我所欲也》）&lt;br&gt;
50．锲而舍之，朽木不折；锲而不舍，金石可镂。（《苟子·劝学））&lt;br&gt;
51．蓬生麻中，不扶而直；白沙在提，与之俱黑。（《苟子·劝学》）&lt;br&gt;
52．千里之堤，溃于蚁穴。（《韩非子·喻老》）&lt;br&gt;
53．流水不腐，户枢不蠹，动也。（《吕氏春秋·尽数））&lt;br&gt;
54．独学而无友，则孤陋而寡闻。（《礼记·杂记））&lt;br&gt;
55．一张一弛，文武之道。（《礼记·杂记下》）&lt;br&gt;
56．玉不琢，不成器；人不学，不知道。（《礼记·学记》）&lt;br&gt;
57．凡事预则立，不预则废。（《礼记·中庸》）&lt;br&gt;
58．临渊羡鱼，不如退而结网。（《汉书·董仲舒传》）&lt;br&gt;
59．塞翁失马，焉知非福。（《淮南子·人间训》）&lt;br&gt;
60．失之毫厘，谬以千里。（《史记·太史公自序》）&lt;br&gt;
61．桃李不言，下自成蹊。（《史记·李将军列传》）&lt;br&gt;
62．智者千虑，必有一失；愚者千虑，必有一得。（《史记淮阴侯列传》）&lt;br&gt;
63．良药苦口利于病，忠言逆耳利于行。（《史记》）&lt;br&gt;
64．项庄舞剑，意在沛公。（《史记·项羽本记》）&lt;br&gt;
65．大行不顾细谨，大礼不辞小让。（《史记·项羽本记》）&lt;br&gt;
66．人为刀俎，我为鱼肉。（《史记·项羽本记》）&lt;br&gt;
67．不鸣则已，一鸣惊人。（《史记·滑稽列传》）&lt;br&gt;
68．文王拘而演《周易》；仲尼厄而作《春秋》；屈原放逐，乃赋（离骚》；左丘失明，厥有《国语》；孙子膑脚，兵法修列；不韦迁蜀，世传《吕览》；韩非国秦，《说难》《孤愤》；《诗》三百篇，大抵贤圣发愤之所为作也。（司马迁《报任安书》）&lt;br&gt;
69．绳锯木断，水滴石穿。（班固《汉书》）&lt;br&gt;
70．水至清则无鱼，人至家则无徒。（班固《汉书·东方朔传》）&lt;br&gt;
71．少壮不努力，老大徒伤悲！（汉乐府《长歌行》）&lt;br&gt;
72．行百里者，半于九十。（汉（逸诗句风雅逸篇四》）&lt;br&gt;
73．失之东隅，收之桑榆。（范晔（后汉书·冯异传））&lt;br&gt;
74．精诚所至，金石为开。（范晔（后汉书·广陵思王荆传》）&lt;br&gt;
75．盛名之下，其实难副。（南朝宋·范晔（后汉书·黄琼传））&lt;br&gt;
76．不人虎穴，焉得虎子。（范晔《后汉书·班超传））&lt;br&gt;
77．疾风知劲草，岁寒见后凋 。（范晔《后汉书》）&lt;br&gt;
78．老骥伏枥 志在千里：烈士暮年，壮心小已。（曹操《龟虽寿》）&lt;br&gt;
79．鞠躬尽瘁，死而后已。（诸葛亮《后出师表》）&lt;br&gt;
80．非淡泊无以明志，非宁静无以致远。（诸葛亮《诫子书》）&lt;br&gt;
81．勿以恶小而为之，勿以善小而不为。（西晋·陈寿《三国志））&lt;br&gt;
82．士别三日，即当刮目相待。（陈寿（三国志·吴书））&lt;br&gt;
83 好读书，不求甚解。每有会意，便欣然忘食。（东晋·陶渊明《五柳先生传》）&lt;br&gt;
84．奇文共欣赏，疑义相与析。（陶渊明《移居》）&lt;br&gt;
85．山气日夕佳，飞鸟相与还。（陶渊明《饮酒》）&lt;br&gt;
86．木欣欣以向荣，泉涓涓而始流。（晋·陶渊明《归去来兮辞》）&lt;br&gt;
87．盛年不重来，一日难再晨。（陶渊明《杂诗》）&lt;br&gt;
88．及时当勉励，岁月不待人。（陶渊明《杂诗》）&lt;br&gt;
89．宁为玉碎，不为瓦全。（《北齐书》）&lt;br&gt;
90．若要人不知，除非己莫为。（枚乘《上书谏吴王》）&lt;br&gt;
91．近朱者赤，近墨者黑。（晋·傅玄〈太子不少傅箴》）&lt;br&gt;
92．机不可失，失不再来。（《新五代史·晋书》）&lt;br&gt;
93．登山则情满于山，观海则意溢于海。（南朝梁·刘勰《文心雕龙》）&lt;br&gt;
94．蝉噪林逾静，鸟鸣山更幽。（南朝梁·王籍〈入若耶溪》）&lt;br&gt;
95．海内存知己，天涯若比邻。（唐·王勃〈送杜少府之任蜀州》）&lt;br&gt;
96．落霞与孤鹜齐飞，秋水共长天一色。（唐·王勃《膝王阁序〉）&lt;br&gt;
97．海上生明月，天涯共此时。（唐·张九龄（望月怀远》）&lt;br&gt;
98．人世有代谢，往来成古今。（唐·孟浩然《与诸子登岘山》）&lt;br&gt;
99．绿树村边合，青山郭外斜。（唐·孟浩然《过故人庄》）&lt;br&gt;
100．大漠孤烟直，长河落日圆。（唐。王维《使至塞上》）&lt;br&gt;
101．独在异乡为异客，每逢佳节倍思亲。（唐·王维〈九月九日忆山东兄弟》）&lt;br&gt;
102．劝君更进一杯酒，西出阳关无故人。（唐·王维〈送元二使安西》）&lt;br&gt;
103．白日依山尽，黄河人海流。欲穷千里目，更上一层楼。（唐·王之涣《登鹳雀楼》）&lt;br&gt;
104．莫愁前路无知己，天下谁人不识君。（唐·高适（别董大））&lt;br&gt;
105．忽如一夜春风来，千树万树梨花开。（唐·岑参〈白雪歌送武判官归京》）&lt;br&gt;
106．马上相逢无纸笔，凭君传语报平安。（唐·岑参〈逢人京使〉）&lt;br&gt;
107．近乡情更怯，不敢问来人。（唐·李频《渡汉江））&lt;br&gt;
108．两岸猿声啼不住，轻舟已过万重山。（唐·李白《早发白帝城〉）&lt;/p&gt;
&lt;p&gt;109．举头望明月，低头思故乡。（唐李白《静夜思》）&lt;br&gt;
110．清水出芙蓉，天然去雕饰。（唐·李白《论诗〉）&lt;br&gt;
111．天生我材必有用，千金散尽还复来。（唐·李白《将进酒〉）&lt;br&gt;
112．安能摧眉折腰事权贵，使我不得开心颜（唐李白《梦游天姥吟留别》）&lt;br&gt;
113．孤帆远影碧空尽，惟见长江天际流。（唐李白《送孟浩然之广陵〉）&lt;br&gt;
114．长风破浪会有时，直挂云帆济沧海。（唐李白《行路难））&lt;br&gt;
115．朱门酒肉臭，路有冻死骨。（唐杜甫《自京赴奉先县咏怀五百字》）&lt;br&gt;
116．酒债寻常行处有，人生七十古来稀。（唐·杜甫《曲江》）&lt;br&gt;
117．无边落木萧萧下，不尽长江滚滚来。（唐·杜甫《登高》）&lt;br&gt;
118．读书破万卷，下笔如有神。（唐杜甫（奉赠韦左丞二十二韵》）&lt;br&gt;
119．为人性僻耽佳句，语不惊人死不休。（唐·杜甫《江上值水如海势聊短述》）&lt;br&gt;
120．露从今夜白，月是故乡明。（唐·杜甫《月夜忆弟舍》）&lt;br&gt;
121．出师未捷身先死，长使英雄泪满襟。（唐·杜甫〈蜀相》）&lt;br&gt;
122．笔落惊风雨，诗成泣鬼神。（唐·杜甫（寄李十二白二十》）&lt;br&gt;
123．文章千古事，得失寸心知。（唐·杜甫〈偶题》）&lt;br&gt;
124．正是江南好风景，落花时节又逢君。（唐·杜甫（江南逢李龟年））&lt;br&gt;
125．安得广厦千万间，大庇天下寒士俱欢颜，风雨不动安如山？呜呼！何时&lt;br&gt;
眼前突兀见此屋，吾庐独破受冻死亦足。（唐·杜甫《茅屋为秋凤所破歌》）&lt;br&gt;
126．二句三年得，一吟双泪流。（唐·贾岛《题诗后〉）&lt;br&gt;
127．谁言寸草心，报得三春晖。（唐·孟郊《游子吟））&lt;br&gt;
128．蚍蜉撼大树，可笑不自量。（唐·韩愈《调张籍》）&lt;br&gt;
129．不塞不流，不止不行。（唐·韩愈《原道》）&lt;br&gt;
130．业精于勤荒于嬉，行成于思毁于随。（唐·韩愈〈进学解〉）&lt;br&gt;
131．李杜文章在，光焰万丈长。（唐·韩愈《调张籍》）&lt;br&gt;
132．我有迷魂招不得，雄鸡一叫天下白。（唐·李贺《致酒行》）&lt;br&gt;
133．衰兰送客咸阳道，天若有情天亦老。（唐·李贺《金铜仙人辞汉歌〉）&lt;br&gt;
134．不见年年辽海上，文章何处哭秋风。（唐·李贺《南园》）&lt;br&gt;
135．沉舟侧畔千帆过，病树前头万木春。（唐·刘禹赐《酬乐天扬州初逢席上见赠》&lt;br&gt;
136．东边日出西边雨，道是无晴却有晴。（唐·刘禹锡《竹枝词》）&lt;br&gt;
137．山不在高，有仙则名；水不在深，有龙则灵。（唐刘禹锡〈陋室铭〉）&lt;br&gt;
138．千淘万漉虽辛苦，吹尽狂沙始到金。（唐·刘禹锡《浪淘沙》）&lt;br&gt;
139．请君莫奏前朝曲，听曲新翻杨柳枝。（唐·刘禹锡《杨柳枝词九首》）&lt;br&gt;
140．文章合为时而著，歌诗合为事而作。（唐·白居易《与元九书》）&lt;br&gt;
141．野火烧不尽，春风吹又生。（唐·白居易《赋得古原草送别》）&lt;br&gt;
142．同是天涯沦落人，相适何必曾相识。（唐·白居易《琵琶行》）&lt;br&gt;
143．试玉要烧三日满，辨材须待七年期。（唐·白居易《放言》）&lt;br&gt;
144．乱花渐欲迷人眼，浅草才能没马蹄。（唐·白居易《钱塘湖春行》）&lt;br&gt;
145．醉卧沙场君莫笑，古来征战几人回！（唐·王翰凉州词》）&lt;br&gt;
146．千里莺啼绿映红，水村山郭酒旗风。（唐·杜牧〈江南村绝句》）&lt;br&gt;
147．烟笼寒水月笼沙，夜泊秦淮近酒家。（唐·杜牧《泊秦淮》）&lt;br&gt;
148．春蚕到死丝方尽，蜡炬成灰泪始于。（唐·李商隐《无题》）&lt;br&gt;
149．身无彩凤双飞翼，心有灵犀一点通。（唐·李商隐（无题》）&lt;br&gt;
150．相见时难别亦难，东风无力百花残。（唐·李商隐《无题》）&lt;br&gt;
151．夕阳无限好，只是近黄昏。（唐·李商隐《乐游原〉）&lt;br&gt;
152．天意伶幽草，人间重晚情。（唐·李商隐〈晚情〉）&lt;br&gt;
153．风暧鸟声碎，日高花影重。（唐·杜荀鹤《春宫怨》）&lt;br&gt;
154．曾经沧海难为水，除却巫山不是云。（唐·元稹〈离思》）&lt;br&gt;
155．姑苏城外寒山寺，夜半钟声到客船。（唐·张继〈枫桥夜泊》）&lt;br&gt;
156．吟安一个字，捻断数茎须。（唐·卢延让〈苦吟〉）&lt;br&gt;
157．苦恨年年压金线，为他人作嫁衣裳。（唐·秦韬玉〈贫女》）&lt;br&gt;
158．海阔凭鱼跃，天高任鸟飞。（僧云览诗中之句）&lt;br&gt;
159．溪云初起日沉阁，山雨欲来风满楼。（唐·许浑咸阳城东楼〉）&lt;br&gt;
160．罄南山之竹，书罪无穷；决东海之波，流恶难尽。（唐祖君彦《为李密檄洛州文》）&lt;br&gt;
161．云山苍苍，江水泱泱，先生之风，山高水长。（宋·范仲淹〈严先生祠堂记》）&lt;br&gt;
162．先天下之忧而忧，后天下之乐而乐。（宋·范仲淹《岳阳楼记》）&lt;br&gt;
163．醉翁之意不在酒，在乎山水之间也。（宋·欧阳修〈醉翁亭记〉）&lt;br&gt;
164．雪消门外青山绿，花发江边二月晴。（宋·欧阳修《春日西湖记谢法曹歌〉）&lt;br&gt;
165．忧劳可以兴国，逸豫可以亡身。（宋·欧阳修〈伶官传序〉）&lt;br&gt;
166，衣带渐宽终不悔，为伊消得人憔悴。（宋·柳永〈凤栖梧〉）&lt;br&gt;
167．兼听则明，偏信则暗。（宋·司马光《资治通鉴》）&lt;br&gt;
168．由俭入奢易，由奢入俭难。（宋·司马光〈训俭示康〉）&lt;br&gt;
169．春风又绿江南岸，明月何时照我还。（宋·王安石〈泊船瓜州〉）&lt;br&gt;
17o．不畏浮云遮望眼，只缘身在最高层。（宋·王安石《登飞来峰》）&lt;br&gt;
171．欲把西湖比西子，淡妆浓抹总相宜。（宋·苏轼《饮湖上初晴后雨》）&lt;br&gt;
172．山高月小，水落石出。（宋·苏试《后赤壁赋》）&lt;br&gt;
173．但愿人长久，千里共蝉娟。（宋·苏试《水调歌头》）&lt;br&gt;
174．人有悲欢离合，月有阴晴圆缺。宋·苏轼《水调歌头》）&lt;br&gt;
175·横看成岭侧成峰，远近高低各不同。不识庐山真面目，只缘身在此山中。（宋·苏轼《题西林壁》）&lt;br&gt;
176．竹外桃花三两枝，春江水暖鸭先知。（宋·苏轼〈惠崇〈春江晚景》）&lt;br&gt;
177．嬉笑怒骂，皆成文章。（宋·黄庭坚〈东坡先生真赞〉）&lt;br&gt;
178．生当作人杰，死亦为鬼雄。（宋·李清照《夏日绝句〉）&lt;br&gt;
179．山重水复疑无路，柳暗花明又一村。（宋·陆游〈游山西村〉）&lt;br&gt;
180．夜阑卧听风吹雨，铁马冰河人梦来。（宋·陆游十一月四日风雨大作》）&lt;br&gt;
181．纸上得来终觉浅，绝知此事要躬行。（宋·陆游〈冬夜读书示子聿》）&lt;br&gt;
182．王师北定中原日，家祭无忘告乃翁。（宋陆游〈示儿〉）&lt;br&gt;
183．文章本天成，妙手偶得之。（宋·陆游〈文章〉）&lt;br&gt;
184．出师一表真名世，千载谁堪伯仲间。（宋·陆游《书愤》）&lt;br&gt;
185．小荷才露尖尖角，早有蜻蜓立上头。（宋·杨万里〈小池〉）&lt;br&gt;
186．接天莲叶无穷碧，映日荷花别样红。（宋·杨万里《晓出净慈寺送林子方》）&lt;br&gt;
187．青山遮不住，毕竟东流去。（宋·辛弃疾〈菩萨蛮》）&lt;br&gt;
188．千古兴亡多少事，悠悠，不尽长江滚滚流。（宋·辛弃疾〈南乡子》）&lt;br&gt;
189．念桥边红药，年年知为谁生！（宋·姜夔《扬州慢））&lt;br&gt;
190．人生自古谁无死留取丹心照汗青。（宋·文天祥《过零丁洋》）&lt;br&gt;
191．春色满园关不住，一枝红杏出墙来。（宋·叶绍翁〈游园不值》）&lt;br&gt;
192．即以其人之道，还治其人之身。（宋·朱熹《中庸·十三章注》）&lt;br&gt;
193．等闲识得东风面，万紫千红总是春。（宋·朱熹《春日》）&lt;br&gt;
194．问渠哪得清如许，为有源头活水来。（宋·朱熹《观书有感））&lt;br&gt;
195．绿杨烟外晓寒轻，红杏枝头春意闹。（宋·宋祁《玉楼春》）&lt;br&gt;
196．近水楼台先得月，向阳花木易为春。（宋·俞文豹《清夜录》）&lt;br&gt;
197．梅须逊雪三分白，雪却输梅一段香。（宋·梅尧臣《雪梅》）&lt;br&gt;
198．莫等闲，白了少年头，空悲切。（宋·岳飞《满江红》）&lt;br&gt;
199．三十功名尘与土八千里路云和月。（宋岳飞《满江红》）&lt;br&gt;
200．暖风熏得游人醉，直把杭州作汴州。（宋·洪林《西湖》）&lt;br&gt;
201．地也，你不分好歹何为地！天也，你错勘贤愚枉做天！（元·关汉卿《窦娥冤》）&lt;br&gt;
202．着意栽花花不发，等闲插柳柳成阴。（元·关汉卿《包待制智斩鲁斋郎》）&lt;br&gt;
203．只要功夫深，铁杵磨成针。（元·虞韶《日记故事》）&lt;br&gt;
204．男儿有泪不轻弹，只因未到伤心处。（元·李开先《宝剑记》）&lt;br&gt;
205．花落水流红，用愁万种，无语怨东风。（元·王实甫〈西厢记〉）&lt;br&gt;
206．路遥知马力，日久见人心。（元·无名氏《争报恩》）&lt;br&gt;
207．不是一番寒彻骨，怎得梅花扑鼻香。（元·高明《琵琶记》）&lt;br&gt;
208．从来好事天生俭，自古瓜儿苦后甜。（元·白朴《喜来春》）&lt;br&gt;
209．不要人夸好颜色，只留清气满乾坤。（元·王冕《题墨梅》）&lt;br&gt;
210．一言既出，驷马难追。（元·李寿卿〈伍员吹萧〉）&lt;br&gt;
211．养军千日，用军一时。（元·马致远（汉宫秋第二折））&lt;br&gt;
212．良辰美景奈何天，赏心乐事谁家院。（明·汤显祖〈牡丹亭》）&lt;br&gt;
213．金玉其外，败絮其中。（明·刘基《卖柑者言》）&lt;br&gt;
214．墙上芦苇，头重脚轻根底浅；山间竹笋，嘴尖皮厚腹中空。（明·解缙对联）&lt;br&gt;
215．风声，雨声，读书声，声声入耳；家事，国事，天下事，事事关心。（明·顾宪成·东林书院门前对联）&lt;br&gt;
216．将在谋而不在勇，兵在精而不在多。（明·冯梦龙（古今小说》）&lt;br&gt;
217．人逢喜事精神爽，月到中秋分外明。（明·冯梦龙（古今小说》）&lt;br&gt;
218．冤家宜解不宜结，各自回头看后头。（明·冯梦龙《古今小说》）&lt;br&gt;
219．踏破铁鞋无觅处，得来全不费工夫。（明·冯梦龙《警世通言》）&lt;br&gt;
220．命里有时终须有，命里无时莫强求。（明·兰陵笑笑生《金瓶梅》）&lt;br&gt;
221．各人自扫门前雪，休管他人瓦上霜。（《事林广记》）&lt;br&gt;
222．长江后浪推前浪，一代新人换旧人。（《增广昔时贤文》）&lt;br&gt;
223．情随境变，字逐情生。（明·袁宏道《叙小修诗》）&lt;br&gt;
224．粉身碎骨浑不怕，要留清白在人间。（明·于谦《石灰吟》）&lt;br&gt;
225．一年三百六十日，都是横戈马上行。（明·戚继光（马上作））&lt;br&gt;
226．尝将冷眼观螃蟹，看你横行得几时？（明代民歌（京师人为严嵩语））&lt;br&gt;
227．滚滚长江东逝水，浪花淘尽英雄。是非成败转头空，青山依旧在，几度夕阳红。（罗贯中《三国演义·卷首词》）&lt;br&gt;
228．破屋更遭连夜雨，漏船又遇打头风。（施耐庵《水浒传》）&lt;br&gt;
229．画龙画虎难画骨，知人知面不知心。（施耐庵《水浒传》）&lt;br&gt;
230．有缘千里来相会，无缘对面不相逢。（施耐庵《水浒传》）&lt;br&gt;
231．山高自有客行路，水深自有渡船人。（吴承恩（西游记））&lt;br&gt;
232．一叶浮萍归大海，人生何处不相逢。（吴承恩（西游记））&lt;br&gt;
233．道高一尺，魔高一丈。（吴承恩（西游记））&lt;br&gt;
234．智者不必仁，而仁者则必智。（蒲松龄《聊斋志异》）&lt;br&gt;
235．千磨万击还坚劲，任尔东西南北风。（清·郑板桥《竹石》）&lt;br&gt;
236．隔靴搔痒赞何益，人木三分骂亦精。（清郑板桥对联）&lt;br&gt;
237．世事洞明皆学问，人情练达即文章。（曹雪芹《红楼梦》）&lt;br&gt;
238．假作真时真亦假，无为有处有还无。（曹雪芹（红楼梦））&lt;br&gt;
239．天下兴亡，匹夫有责。（清顾炎武《日知录》）&lt;br&gt;
240．品画先神韵，论诗重性情。（清·袁枚（品画））&lt;br&gt;
241．落红不是无情物，化作春泥更护花。（清龚自珍（己亥杂诗））&lt;br&gt;
242．我劝天公重抖擞，不拘一格降人才。（清龚自珍《己亥杂诗》》&lt;br&gt;
243．我自横刀向天笑，去留肝胆两昆仑。（清谭嗣同《狱中题壁》&lt;br&gt;
244．一腔热血勤珍重，洒去犹能化碧涛。（清·秋瑾（对酒））&lt;br&gt;
245．拼得十万头颅血，须把乾坤力转回。（清·秋瑾（黄海舟日人索句并见日俄战争地图））&lt;br&gt;
246．江山代有才人出，各领风骚数百年。（清·赵翼（论诗））&lt;br&gt;
247．一失足成千古恨，再回头已百年身。（清魏子安（花月痕））&lt;br&gt;
248．鲁迅名句：&lt;br&gt;
寄意寒星荃不察，我以我血荐轩辕。（《自题小像》&lt;br&gt;
横眉冷对千夫指，俯首甘为孺子牛。（《自嘲》）&lt;br&gt;
心事浩渺连广宇，于无声处听惊雷。（《无题》）&lt;br&gt;
249．毛泽东诗词名句：&lt;br&gt;
红军不伯远征难，万水千山只等闲。（《七律·长征》）&lt;br&gt;
中华儿女多奇志，不爱红妆爱武装。（《为女民兵题照》）&lt;br&gt;
天若有情天亦老，人间正道是沧桑。（《七律·人民解放军占领南京》）&lt;br&gt;
为有牺牲多壮志，敢教日月换新天。（《七律·到韶山》）。&lt;br&gt;
一万年太久，只争朝夕。（《满江红·和郭沫若同志》）&lt;br&gt;
牢骚太盛防肠断，风物长宜放眼量。（《七律·和柳亚子先生》）&lt;br&gt;
红雨随心翻作浪，青山着意化为桥。（《七律·送瘟神》）&lt;/p&gt;</description><pubDate>Fri, 15 Jun 2007 22:16:17 +0800</pubDate><author>win4sm</author><comments>http://www.i170.com/Article/70596#comment</comments><guid isPermaLink="false">http://www.i170.com/Article/70596</guid><dc:creator>win4sm</dc:creator><fs:srclink>http://www.i170.com/Article/70596</fs:srclink><fs:srcfeed>http://www.i170.com/user/win4sm/RSS</fs:srcfeed><fs:itemid>feedsky/win4sm/~1471960/567477672/1491936</fs:itemid></item></channel></rss>
