Here, by way of summary, is where you are:
- You know that you ordinarily use call-by-value parameters.
C always allocates a chunk of memory for each call-by-value parameter and
C always arranges for an argument value to be copied into that chunk.
The rationale is that you want to isolate each function's parameters from
other parameters, local variables, and global variables that happen to have
the same name.
- You know that you can use pointer parameters to circumvent C's
isolation of function parameters. Changes made by way of dereferenced
pointer parameters alter the information in the memory chunks supplied