Variables that survive in the function
Lifetime of static local variables
In fact, there is a variable with unusual characteristics that is intermediate between the two.
When declaring a variable in a function, you can prefix the type name with static to make it
You can declare static local variables.
The following program is an example of declaring a static local variable.
static int count; /* static local variable */
The result of executing this program will be as follows
Even though it is declared in the function, the value is increasing by 1 with each call, and
The beginning value is 0 even though no initialization has been done.
This appears to be a global variable by all accounts.
However, the variable count is essentially a local variable because it is declared within a function.
In fact, using the variable count within the main function results in an error.
This is a characteristic of static local variables.
Since it is declared within a function, it can only be used within the function in which it is declared, but
Its value remains until the program terminates.
It is also automatically initialized to 0 without any particular initialization.
Note that initialization is done only once at the beginning.
For example, the following initialization can be counted
static int count = 0; /* static local variable */
This variable is used when a function wants to remember the value of a previous call.
Its use is limited, but it can be used to count the number of times a function has been called or to
A possible example would be a function that performs a search and stores the position of previously found characters.
About this Site
The C language (bitter C), which is learned by suffering, is
This is the definitive C language introductory site.
It systematically explains the basic functions of the C language and
It is as complete as or better than any book on the market.