c
In C, a variable declared as static in a function is initialised once, and retains its value between function calls.
The default initial value of an uninitialized static variable is zero.
If a function or global variable is declared static, it can only be accessed in that file.
Static variable
From Wikipedia, the free encyclopedia
In computer programming, a static variable is a variable that has been allocated statically — whose lifetime extends across the entire run of the program. This is in contrast to the more ephemeral automatic variables, whose storage is allocated and deallocated on the call stack; and in contrast to objects whose storage is dynamically allocated.In many programming languages, such as Pascal, all local variables are automatic and all global variables are allocated statically. In these languages, the term "static variable" is generally not used, since "local" and "global" suffice to cover all the possibilities.
In the C programming language and its descendants, the term static variable has at least three separate meanings, each related to the semantics of C's
static
keyword:- Static global variables are declared as "
static
" at the top level of a source file. Such variables are not visible outside the source file ("file scope"), unlike variables declared as "extern
".
- Static local variables are declared inside a function, just like automatic local variables. They have the same scope as normal local variables, differing only in "storage duration": whatever values the function puts into static local variables during one call will still be present when the function is called again.
- C++ has static member variables: in classes, member variables declared as "
static
" are class variables (as opposed to instance variables).
No comments:
Post a Comment