放之四海皆准的初始化值 0
从所周知,文字量 0 是一个整形数。但是,它可以被用于每一种数据类型的初始化操作,放之四海皆准。因为在编译器里,它是
自动被强制类型转换成相应的数据类型的。因此我们可以把文字量 0 作为一个特殊的没有类型的元数据。编译器根据其上下文来
决定它的具体类型。例如,我们经常编写如下的代码:
void *p = 0; // 被用于初始化一个指针,编译器把它当成是NULL。
float salary = 0; // 0 被强制转换成 float
char name[10] = {0}; // 0 被强制转换成 '\0'
void (*pf)(int) = 0; // 一个函数指针
搜索更多相关主题的帖子:
初始化