Not only have we been using automatic, fixed storage in all the preceding chapters, we have also been using the sub-class of internal storage. Internal storage is a memory that is allocated either with a compound statement (between { and }) or as a function parameter.
Internal memory includes loop variables that are allocated when the loop is entered and deallocated when the loop is exited or completes.
Internal memory variables are only accessible within the compound statement where they've been declared, and any sub-compound statement declared within that compound statement. Their scope is limited to their enclosing { and }. They are not accessible from any other function or any function that calls them. Therefore, they are often referred to as a local memory because they are strictly local to the code block within which they are declared.
Consider the following function:
double doSomething( double aReal...