在 ANSI/ISO 标准 C 下, 这些转换不再需要, 而起事实上现代的实践也不鼓励 这样做, 因为它们可能掩盖 malloc() 声明错误时产生的重要警告; 参见上面的 问题 7.8。 (但是, 因为这样那样的原因, 为求与 C++ 兼容, C 程序中 常常能见到这样的转换。 在 C++ 中从 void * 的明确转换是必须的。)
参考资料: [H&S, Sec. 16.1 pp. 386-7]。