📄 confusion4.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN"><!-- This collection of hypertext pages is Copyright 1995-2005 by Steve Summit. --><!-- Content from the book "C Programming FAQs: Frequently Asked Questions" --><!-- (Addison-Wesley, 1995, ISBN 0-201-84519-9) is made available here by --><!-- permission of the author and the publisher as a service to the community. --><!-- It is intended to complement the use of the published text --><!-- and is protected by international copyright laws. --><!-- The on-line content may be accessed freely for personal use --><!-- but may not be published or retransmitted without explicit permission. --><!-- --><!-- this page built Sat Dec 24 21:47:45 2005 by faqproc version 2.7 --><!-- from source file null.sgml dated Wed Dec 21 13:03:25 2005 --><!-- corresponding to FAQ list version 4.0 --><html><!-- Mirrored from c-faq.com/null/confusion4.html by HTTrack Website Copier/3.x [XR&CO'2008], Sat, 14 Mar 2009 07:58:48 GMT --><head><meta name=GENERATOR content="faqproc"><title>Question 5.16</title><link href="confused2.html" rev=precedes><link href="machexamp.html" rel=precedes><link href="index.html" rev=subdocument></head><body bgcolor="#ffffff"><a href="confused2.html" rev=precedes><img src="../images/buttonleft.gif" alt="prev"></a><a href="index.html" rev=subdocument><img src="../images/buttonup.gif" alt="up"></a><a href="machexamp.html" rel=precedes><img src="../images/buttonright.gif" alt="next"></a> <a href="../index-2.html"><img src="../images/buttontop.gif" alt="top/contents"></a><a href="../search.html"><img src="../images/buttonsrch.gif" alt="search"></a><hr><p><!-- qbegin --><h1>comp.lang.c FAQ list<font color=blue>·</font><!-- qtag -->Question 5.16</h1><p><font face=Helvetica size=8 color=blue><b>Q:</b></font>Given all the confusion surrounding null pointers,wouldn't it be easier simplyto require them to be representedinternally by zeroes?</p><p><hr><p><font face=Helvetica size=8 color=blue><b>A:</b></font>Some implementationsnaturally representnull pointers by special, nonzero bit patterns,particularly whenit can be arranged that inadvertently usingthose valuestriggersautomatichardware traps.Requiring null pointers to be represented internally as 0,and therefore disallowing use of the special, nonzero values,would bean unfortunate step backwards,because catching errors whichresult in invalid accessesisa Good Thing.</p><p>Besides,what would such arequirement really accomplish?Proper understanding of null pointers does not require knowledgeof the internal representation,whether zero or nonzero.Assuming that null pointers are internally zero does not make anycode easier to write(except fora certain ill-advisedusage of <TT>calloc</TT>;see question<a href="../malloc/calloc.html">7.31</a>).Known-zero internal pointers would notreduce the need forcasts in function calls,because the<em>size</em>of the pointer might still be different from that of an <TT>int</TT>.(If ``nil''were used to request null pointers,as mentionedin question<a href="confusion.html">5.14</a>,the urge to assume an internal zero representation wouldnot even arise.)</p><!-- aend --><p><hr><a href="confused2.html" rev=precedes><img src="../images/buttonleft.gif" alt="prev"></a><a href="index.html" rev=subdocument><img src="../images/buttonup.gif" alt="up"></a><a href="machexamp.html" rel=precedes><img src="../images/buttonright.gif" alt="next"></a> <a href="../questions.html"><img src="../images/buttontop.gif" alt="contents"></a><a href="../search.html"><img src="../images/buttonsrch.gif" alt="search"></a><br><!-- lastfooter --><a href="../about.html">about this FAQ list</a> <a href="../eskimo.html">about eskimo</a> <a href="../search.html">search</a> <a href="../feedback.html">feedback</a> <a href="copyright.html">copyright</a><p>Hosted by<a href="http://www.eskimo.com/"><img src="../../www.eskimo.com/img/link/eskitiny.gif" alt="Eskimo North"></a></body><!-- Mirrored from c-faq.com/null/confusion4.html by HTTrack Website Copier/3.x [XR&CO'2008], Sat, 14 Mar 2009 07:58:48 GMT --></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -