读者:有个函数, 本该返回一个字符串, 但当它返回调用者的时候, 返回 串却是垃圾信息。
阿一:确保指向的内存已经正确分配了。...*/
sprintf(retbuf, "%d", n);
return retbuf; /* 错!...阿一:返回指针必须是静态分配的缓冲区, 或者调用者传入 的缓冲区, 或者用 malloc() 获得的内存, 但不能是局部 (自动) 数组。...读者:为什么有些代码小心地把 malloc 返回的值转换为分配的指针类型?...在 ANSI/ISO 标准 C 下, 这些转换不再需要, 而起事实上现代的实践也不鼓励 这样做, 因为它们可能掩盖 malloc() 声明错误时产生的重要警告。