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)