Here is an example of two objects with local scope, but with different duration:
void f() {
/* local duration var; init a upon every call to f */
int a = 1;
/* static duration var; init b only upon 1st call to f */
static int b = 1;
/* checkpoint! */
a++;
b++;
}
void main() {
/* At checkpoint, we will have: */
f();
// a=1, b=1, after first call,
f();
// a=1, b=2, after second call,
f();
// a=1, b=3, after third call,
// etc.
}
mikroC
- C Compiler for Microchip PIC microcontrollers
mikroC
making it simple...
58
MikroElektronika:
Development
tools
-
Books
-
Compilers
page