3.8 如何向接受结构参数的函数传入常数值?

传统的 C 没有办法生成匿名结构值; 你必须使用临时结构 变量或一个小的结构生成函数。

C99 标准引入了 ``复合常量'' (compound literals); 复合常量的一种形式 就可以允许结构常量。例如, 向假想 plotpoint() 函数传入一个坐标 对常数, 可以调用

    plotpoint((struct point){1, 2});
与 ``指定初始值'' (designated initializers) (C99 的另一个功能) 结合, 也可以用成员名称确定成员值:
    plotpoint((struct point){.x=1, .y=2});

参见问题 4.6

参考资料: [C9X, Sec. 6.3.2.5, Sec. 6.5.8]。

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