Function parameters and variables declared inside a function have, by default, automatic storage duration. They also have local scope and no linkage. That is, if you declare a variable called
main() and you declare another variable with the same name in a function called
oil(), you’ve created two independent variables, each known only in the function in which it’s defined. Anything you do to the
oil() has no effect on the
main(), and vice versa. Also each variable is allocated when program execution enters the innermost block containing the definition, and each fades from existence when execution leaves that block. (Note that the variable is allocated when execution enters the block, but the ...