1.如何向接受结构参数的函数传入常量值?
c99标准中引入“复合字面量”(compound literals),它的一种形式就可以允许结构常量。例如,向假定的plotpoint函数
传入一个坐标对常量。
plotpoint((struct point){1,2});
与制定初始式结合,也可以用成员名称确定成员值:
plotpoint((struct point){.x=1, .y=2});
#include <stdio.h>
#include <termios.h>
#include <fcntl.h>
struct plotpoint{
int x;
int y;
} p;
void point_print(struct plotpoint pp)
{
printf("x=%d,y=%d\n",pp.x,pp.y);
}
int main(void)
{
point_print((struct plotpoint){1,2});
point_print((struct plotpoint){.x=3,.y=4});
return 0;
}
运行结果:
x=1,y=2
x=3,y=4
x=3,y=4