论坛首页· 友情链接申请·申请版主· 广告投放· 道具中心· 设为首页· 收藏本站
发新话题
打印

放之四海皆准的初始化值 0

放之四海皆准的初始化值 0

从所周知,文字量 0 是一个整形数。但是,它可以被用于每一种数据类型的初始化操作,放之四海皆准。因为在编译器里,它是
自动被强制类型转换成相应的数据类型的。因此我们可以把文字量 0 作为一个特殊的没有类型的元数据。编译器根据其上下文来
决定它的具体类型。例如,我们经常编写如下的代码

  void *p = 0;   // 被用于初始化一个指针,编译器把它当成是NULL。
  float salary = 0;   // 0 被强制转换成 float
  char name[10] = {0};   // 0 被强制转换成 '\0'
  void (*pf)(int) = 0;   // 一个函数指针
因为梦想而努力,因为有你而精彩!
mail: qianzongming@gmail.com

TOP

初始化无论何时都是一个好习惯
将无用的指针置为0也是个好习惯

TOP

呵呵,初始化为0不如自己初始化NULL

个人觉得整型浮点这一类的可以不初始化,但是指针一定要记得初始化!

TOP

回复 3# 的帖子

NULL是C++从C中继承下来的,初始化为NULL就是初始化为0
整型浮点也要初始化,除非你保证使用变量之前会对它赋值

TOP

看过一本编程规范的书,推荐任何变量都初始化。
因为梦想而努力,因为有你而精彩!
mail: qianzongming@gmail.com

TOP

发新话题