prev up next   top/contents search

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

Q我如何将常量值传递给接受结构体参数的函数?我如何创建无名、即时、常量结构体值?


A传统的 C 语言无法生成匿名结构体值;您必须使用临时结构体变量或一个小的结构体构建函数;请参阅问题 14.11 以获取示例。

C99 引入了“复合字面量”,其中一种形式提供了结构体常量。例如,要将一个常量坐标对传递给一个假设的plotpoint函数,该函数期望一个struct point,您可以调用

	plotpoint((struct point){1, 2});
结合“指定初始化器”(C99 的另一项功能),还可以通过名称指定成员值
	plotpoint((struct point){.x=1, .y=2});

另请参阅问题 4.10

参考文献:C9X Sec. 6.3.2.5, Sec. 6.5.8


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

Eskimo North 托管