prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 7.3

但是 strcat 的 man page 说它接受两个 char* 作为参数。我应该如何知道分配内存?strcat说它接受两个char *作为参数。我应该如何知道分配内存?


一般来说,在使用指针时,你总是需要考虑内存分配,哪怕只是为了确保编译器为你完成了它。如果库函数的文档没有明确提及分配,通常是调用者的责任。

Unix 风格的 man page 顶部或 ANSI C 标准中的 Synopsis 部分可能会产生误导。那里展示的代码片段更接近实现者使用的函数定义,而不是调用者使用的函数调用。特别是,许多接受指针(例如指向结构体或字符串)的函数通常是用指向调用者已分配的某个对象的指针(结构体或数组——参见问题 6.36.4)来调用的。其他常见的例子有time(参见问题 13.12)和stat.


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管