I've been thinking about this for some time, and am very curious:
Other than to prevent the function being called from being able to overwrite the variable in question, is there any reason why you would specifically want to pass a variable to a function, instead of a pointer to that variable? It would seem that using pointers as much as possible would be good for performance/footprint, but I don't want to overdo it if there are other considerations.
I hope this isn't a terribly stupid question; I've yet to read up on some of the more advanced aspects of C, and it's possible my question is answered there...