typedef struct{
int x;
int y;
}XY;
XY a,b,c;
c = a+b; //エラー

こんな風に同じ型の構造体を演算したいのですが、関数を使うしか方法はありませんか?