#include /* pointAdd.c */ typedef struct { double x, y; } Point; Point pointAdd(Point p, Point q) { /*@{}@XPC{structures as @B {function arguments}}*/ p.x += q.x; p.y += q.y; return p; /*@{}@XPC{structure as @B {return value}}*/ } int main() { Point p = {3.0, 4.0}, q = {1.2, 2.3}, r; r = pointAdd(p,q); /*@{}@XPC{structures @B {passed by value}} */ printf("p = (%f, %f)\n", p.x, p.y); printf("r = (%f, %f)\n", r.x, r.y); return 0; }