未初始化的变量的初始值可用于什么样的假设?如果一个全局变量初始值为“零,它作为一个空指针或浮点零的可能性?
“静态''一个未初始化的变量(即外声明的变量和静态存储类型的变量的函数)的生存,是要确保初始值为零,像一个程序员,键入“=0”相同。因此,如果这些变量,指针被初始化为一个空指针,如果是浮点数被初始化为0.0(或正确的类型,见第五章)。
有“自动''(即静态存储类型的局部变量)变量的生存没有显示初始化,包含垃圾邮件。垃圾不能有任何有益的假设。
这些规则也适用于数组和结构(如称为“聚合物'');初始化,数组和结构被认为是“变量''。
malloc()和realloc()的动态分配的内存可能包含垃圾数据,因此必须由主叫方正确初始化。calloc()函数的内存为全零,但这不一定是有用的指针和浮点值(参见问题7.26和第5章)。
参考文献:[K&R1,二段。 4.9第82-4][的K&R2,二段。 4.9第85-86][ISO二段。 6.5.7段。7.10.3.1段。 7.10.5.3][H&S,二段。 4.2.8第72-3段。 4.6第92-3段。 4.6.2第94-5段。 4.6.3P-96,二段。 16.1,P。 386]。
-
近期文章
近期评论
- coolker 发表在《打造最快的Hash表》
- struggle 发表在《提供C语言教学课件(适用于初学者)》
- zhanghaibo 发表在《提供C语言教学课件(适用于初学者)》
- zhanghaibo 发表在《提供C语言教学课件(适用于初学者)》
- diys 发表在《C语言编程宝典(王大刚) 1.1 C 语言的产生与发展》
文章归档
- 2022 年十月
- 2014 年一月
- 2013 年十二月
- 2012 年十一月
- 2012 年七月
- 2012 年六月
- 2012 年五月
- 2012 年四月
- 2012 年三月
- 2012 年二月
- 2011 年十二月
- 2011 年十月
- 2011 年九月
- 2011 年八月
- 2011 年七月
- 2011 年六月
- 2011 年五月
- 2011 年四月
- 2011 年三月
- 2011 年二月
- 2011 年一月
- 2010 年十二月
- 2010 年十一月
- 2010 年十月
- 2010 年九月
- 2010 年八月
- 2010 年七月
- 2010 年六月
- 2010 年五月
- 2010 年四月
- 2010 年三月
- 2010 年二月
- 2010 年一月
- 2009 年十二月
- 2009 年十一月
- 2009 年十月
- 2009 年九月
- 2009 年八月
- 2009 年七月
- 2009 年六月
- 2009 年五月
- 2009 年四月
- 2009 年三月
- 2009 年二月
- 2009 年一月
- 2008 年十二月
- 2008 年十一月
- 2008 年十月
- 2008 年九月
- 2008 年八月
- 2008 年七月
- 2008 年六月
- 2008 年五月
- 2008 年四月
- 2008 年三月
- 2008 年二月
- 2008 年一月
- 2007 年十二月
- 2007 年十一月
- 2007 年十月
- 2007 年九月
- 2007 年八月
- 2007 年七月
- 2007 年六月
- 2007 年三月
- 2007 年二月
- 2007 年一月
- 2006 年十二月
- 2006 年十一月
- 2006 年十月
- 2006 年九月
- 2006 年八月
- 2006 年七月
- 2006 年六月
- 2006 年五月
- 2006 年四月
- 2006 年三月
- 2006 年二月
- 2006 年一月
- 2005 年十二月
- 2005 年十一月
分类目录
功能