mikroC
making it simple...
DURATION
mikroC - C Compiler for Microchip PIC microcontrollers
Duration, closely related to storage class, defines the period during which the declared identifiers have real, physical objects allocated in memory. We also distinguish between
Static Duration
Memory is allocated to objects with static duration as soon as execution is under- way; this storage allocation lasts until the program terminates. Static duration objects usually reside in fixed data segments allocated according to the memory model in force. All globals have static duration. All functions, wherever defined, are objects with static duration. Other variables can be given static duration by using the explicit static or extern storage class specifiers.
In mikroC, static duration objects are not initialized to zero (or null) in the absence of any explicit initializer.
An object can have static duration and local scope – see the example on the following page.
Local Duration
Local duration objects are also known as automatic objects. They are created on the stack (or in a register) when the enclosing block or function is entered. They are deallocated when the program exits that block or function. Local duration objects must be explicitly initialized; otherwise, their contents are unpredictable.
The storage class specifier auto can be used when declaring local duration vari- ables, but is usually redundant, because auto is the default for variables declared within a block.
An object with local duration also has local scope, because it does not exist outside of its enclosing block. The converse is not true: a local scope object can have static duration.
|
| page |
MikroElektronika: Development tools - Books - Compilers | 57 | |
|