【正文】
ely. Local variables are typically “ automatic” , or created anew with each invocation. Function definitions may not be nested but variables may be declared in a blockstructured fashion. The functions of a C program may exist in separate source files that are piled individually. Variables may be internal to a function, external but known only within a single source files, or visible to the entire program. A preprocessing step performs macro substitution on program text, inclusion of other source file, and conditional pilation. C is a relatively lowlevel language, meaning that C deals with the same sort of objects that most puters do, namely characters, numbers, and addresses. These may be bined and moved about with the arithmetic and logical operators implemented by real machines. C provides no operations to deal directly with poseite objects such as character strings, sets, lists, or arrays. There are no operations that manipulate an entire any storage allocation facility other than static definition and the stack discipline provided by the local variables of functions。 there are no heap or garbage collection . Finally, C itself provides no input/output facilities。 there are no Read or Write statements, and no builtin file access methods. All of these higherlevel mechanisms must be provided by explicitlycalled functions. Most C implementations have included a reasonably standard collection of such functions. Similarly, C offers only straightforward, singlethread control flow: tests, loops, grouping, and subprograms, but not multiprogramming, parallel operations, synchronization, or coroutines. Although the absence of some of these features may seem like a grave deficiency, keeping the language down to modest size has real benefits. Since C is relatively small, it can be described in a small space, and learned quickly. A programmer can reasonably expect to know and understand and indeed regularly use the entire language. In 1983, the American National Standard Institute (ANSI) established a mittee to provide a modern, prehensive definition of C. The resulting definition, the ANSI standard, or “ ANSI C” , was pleted late in 1988. Most of the features of the standard are already supported by modern pilers . The standard is based on the original C reference manual. The language is relatively little changed。 one of the goals of the standard was to make sure that most existing programs would remain valid, or, failing that, that pilers could produce warning of new behavior. For most programmers, the most important change is a new syntax for declaring and defining functions. A function declaration can now include a description of the arguments of the function。 the definition syntax changes to match. This e