Duration, Mikroc – ABL electronic PIC Microcontrollers PIC16 User Manual

Page 65

Advertising
background image

Duration, closely related to storage class, defines the period during which the
declared identifiers have real, physical objects allocated in memory. We also dis-
tinguish between compile-time and run-time objects. Variables, for instance, unlike
typedefs and types, have real memory allocated during run time. There are two
kinds of duration: static and local.

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 fol-
lowing 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 out-
side of its enclosing block. The converse is not true: a local scope object can have
static duration.

MikroElektronika: Development tools - Books - Compilers

57

page

mikroC - C Compiler for Microchip PIC microcontrollers

mikroC

making it simple...

DURATION

Advertising
This manual is related to the following products: