结构体作函数参数

来源:岁月联盟 编辑:zhu 时间:2009-02-21

结构体作函数参数与数组作函数参数类似,有结构体成员字段变量作函数参数和整个结构体作函数参数两种情况。


字段变量作函数参数是作函数的实参,与对应类型变量一样处理。


整个结构体作函数参数,必须保证实参与形参的类型相同,实际上是将实参结构体成员值对应传递给形参结构体成员。数组传递的是首地址。


虽然结构体能整体作函数参数,但要将全部成员值一个一个传递,开销比较大。在结构体成员较多的情况下,用指针作函数参数比较好。


例9—4将例9—2中求平面上两点之间的距离改用函数实现。


函数如下:
struct point
{float x;
float y;
};
float plp2(pl,p2)/*求平面上两点之间距离的函数*/
struct point pl,p2;
{float d;
d=sqrt((p2.x—p1.x)*(p2.x—p1.x) (p2.y—p1.y)*(p2.y—p1.y));
return(d);
}

图片内容