If C does not support passing a variable by reference, why does this work?
#include void f(int *j) { (*j)++; } int main() { int i = 20;
You're passing a pointer(address location) by value.
It's like saying "here's the place with the data I want you to update."