问题:
为什么有些代码小心地把malloc 返回的值转换为分配的指针类型。
在ANSI/ISO 标准C 引入void * 一般指针类型之前,
这种类型转换通常用于在不兼容指针类型赋值时消除警告(或许也可能导致转换)。
在ANSI/ISO 标准C 下, 这些转换不再需要,
而起事实上现代的实践也不鼓励这样做,
因为它们可能掩盖malloc() 声明错误时产生的重要警告;
参见上面的问题7.8。
(但是, 因为这样那样的原因,
为求与C++ 兼容, C 程序中常常能见到这样的转换。
在C++ 中从void * 的明确转换是必须的。)