#include typedef struct { int x; int y; } point; void clearPoint(point *p) { (*p).x=0; (*p).y=0; } void setPoint(point *p) { p->x = 10; p->y = 11; } void printPoint(point p) { printf("(%d,%d)\n",p.x, p.y); } point invert(point p) { int s; s = p.x; p.x = p.y; p.y = s; return p; } int main() { point a,b; clearPoint(&a); printPoint(a); setPoint(&a); printPoint(a); b=a; printPoint(b); b = invert(a); printPoint(b); printPoint(a); return 0; }