This is fine and correct for C, but passing a structure by value may not be a good idea for large structures or if you intend to change the structure in the caller:
Xyz s;
s = XyzPlusOne( s );
:
Xyz s;
XyzPlusOne( & s );
, - :
Xyz s1, s2;
...,
s2 = XyzPlusOne( s1 );
.
anon