1. Explain how the compiler acts on the declaration, definition and invocation of a function in a program.
2. Explain the circumstances when the return value of the following functions may or may not be ignored: printf, scanf, getchar.
3. Explain why the names of the arguments used to invoke a function don’t conflict with the names used for the parameters in the function definition.
4. How is passing the element arr[5] different from passing the name, arr, to a function? Explain whether the function can change the contents of arr defined in the caller.
5. Explain the circumstances that determine whether a variable is declared before main, inside main or after main.
6. Explain the concept of variable hiding using a suitable example