8.3 但是 strcat 的手冊頁說它接受兩個 char * 型參數。 我怎麼知道 (空間) 分配的事情呢?

一般地說, 使用指針的時候, 你必須總是考慮內存分配, 除非明確知道編譯器替你做了此事。如果一個庫函數的文檔沒有明確提到 內存分配, 那麼通常需要調用者來考慮。

Unix 型的手冊頁頂部的大綱段落或 ANSI C 標準有些誤導作用。 那裡 展示的程序片段更像是實現者使用的函數定義而不是調用者使用的形式。 特別地, 很多接受指針 (如結構指針或串指針) 的函數通常在調用時都用 到某個由調用者分配的對象 (結構, 或數組 --- 參見問題 6.3  和 6.4) 的指針。其它的常見例子還有 time() (參見問題  13.10) 和 stat()。

翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)