/*Call By Value: passing an entire structure to a function.*/ #include // define a structure template struct demo{ int a, b; }; void f1(int x, struct demo parm) { x += 10; printf("F1: x = %d\n", x); parm.a = 1; parm.b = 2; printf("F1: parm.a = %d, parm.b = %d\n", parm.a, parm.b); } int main(void) { struct demo arg; arg.a = 9; arg.b = 10; f1(arg.a, arg); // passing a structure member arg.a and // the entire structure arg to function f1 printf("Main: arg.a = %d arg.b = %d\n", arg.a, arg.b); return 0; }