> Here is a simple program that calls a function with two > parameters, one called by value, the other by reference. > f(int a, int *b) { > a += 1; // modifies a local variable > *b += 10; // modifies the caller's variable } > main() { > int x = 0; > f(x, &x); // pass the value and the pointer > printf("x = %d\n", x); > } > // output is x = 10
Passing "x" twice in the same function call is distracting, IMHO. Try this rewrite. [ Also, more comments, please. I'm a tech writer by trade. :-) ] -John ---------------- f(int a, int *b) { a += 1; /* modifies a local variable */ *b += 12; /* modifies the caller's variable */ } main() { int x = 5; int y = 30; /* pass value of x, reference to y */ f(x, &y); /* show results */ printf("x = %d\n", x); printf("y = %d\n", y); } program output: x = 5 y = 42 ---------------- _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig