8.3 但是 strcat 的手册页说它接受两个 char * 型参数。 我怎么知道 (空间) 分配的事情呢?

一般地说, 使用指针的时候, 你必须总是考虑内存分配, 除非明确知道编译器替你做了此事。如果一个库函数的文档没有明确提到 内存分配, 那么通常需要调用者来考虑。

Unix 型的手册页顶部的大纲段落或 ANSI C 标准有些误导作用。 那里 展示的程序片段更像是实现者使用的函数定义而不是调用者使用的形式。 特别地, 很多接受指针 (如结构指针或串指针) 的函数通常在调用时都用 到某个由调用者分配的对象 (结构, 或数组 --- 参见问题 6.3  和 6.4) 的指针。其它的常见例子还有 time() (参见问题  13.10) 和 stat()。

翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)