5.6 我有一個函數 extern int f(int *); 它接受指向  int 型的指針。我怎樣用引用方式傳入一個常數?下面這樣的 調用 f(&5); 似乎不行。

在 C99 中, 你可以使用 ``復合常量":
    f((int[]){5});

在 C99 之前, 你不能直接這樣做; 你必須先定義一個臨時變量, 然後把它 的地址傳給函數:

    int five = 5;
    f(&five);

參見問題 2.8, 4.4 和 20.1

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