#include struct foo { int a; int b; }; void swap(struct foo input) { int tmp = input.a; input.a = input.b; input.b = tmp; } int main( void ) { struct foo first; first.a = 1; first.b = 2; printf("before swap first.a = %d\n",first.a); printf("before swap first.b = %d\n",first.b); swap(first); printf("after swap first.a = %d\n",first.a); printf("after swap first.b = %d\n",first.b); return 0; } /* before swap first.a = 1 before swap first.b = 2 after swap first.a = 1 after swap first.b = 2 */