C

Topic: Variables

What does a static variable mean?

A static variable is a special variable that is stored in the data segment unlike the default automatic variable that is stored in stack. A static variable can be initialised by using keyword static before variable name.

Example:
static int a = 5;A static variable behaves in a different manner depending upon whether it is a global variable or a local variable. A static global variable is same as an ordinary global variable except that it cannot be accessed by other files in the same program / project even with the use of keyword extern. A static local variable is different from local variable. It is initialised only once no matter how many times that function in which it resides is called. It may be used as a count variable.

Example:
#include <stdio.h>//program in file f1.c
void count(void) { 
static int count1 = 0; 
int count2 = 0; 
count1++; 
count2++; 
printf("nValue of count1 is %d, Value of count2 is %d", count1, count2);}/*Main function*/
int main(){ count(); count(); count(); return 0;}

Output:
Value of count1 is 1, Value of count2 is 1Value of count1 is 2, Value of count2 is 1Value of count1 is 3, Value of count2 is 1

Browse random answers:

How do I write a function that takes variable number of arguments?
What are the different properties of variable number of arguments?
Define the scope of static variables.
What are volatile variables?
What is the benefit of using an enum rather than a #define constant? 
Constant volatile variable declaration is possible or not? if give any one example and reason?
What is an lvalue? 
Can a variable be both constant and volatile ? 
What are register variables? What are the advantages of using register variables?
Can we specify variable field width in a scanf() format string? If possible how?
Difference between pass by reference and pass by value?
Left shifting a number by 1 is always equivalent to multiplying it by 2 ?
Bitwise & and | are unary operators?
What is scope &amp; storage allocation of register, static and local variables?
What is the difference between 'for' and 'while' loops?
Swap two variables without using third variable. 
Are the variables argc and argv are always local to main?
What are the two forms of #include directive?
Write a program to swap two numbers using a temporary variable.
Where is the auto variables stored?
 What is a constant variable?
What are the advantages of auto variables?
Is it acceptable to declare/define a variable in a C header?
Difference between : - 1)Global variable and Local variable , 2)Static variable and Global variable ?
Differentiate between an internal static and external static variable?
What does a static variable mean?
How can you determine the maximum value that a numeric variable can hold?
In order to properly use a variable?
Can a variable be both const and volatile?
What is static identifier?
Constant volatile variable declaration is possible or not? if give any one example and reason.?
What is the difference between declaring a variable and defining a variable? 
Are the variables argc and argv are local to main()?
Can static variables be declared in a header file?
Where does global, static, local, register variables, free memory and C Program instructions get stored?
Are the variables argc and argv are always local to main?
Where are the auto variables stored? What is the use of register variables?
What is difference between static and global static variable?
How much memory does a static variable takes? 
What is a pointer variable? 
What is the type of the variable b in the following declaration?
#define FLOATPTR float*FLOATPTR a,b;
What is storage class and what are storage variable ?
Declaration of variables in c?
Explanation of value of a variable in c programming language by examples and questions and answers
How to swap the content of two variables without a temporary variable
Where in memory are my variables stored?
Do variables need to be initialized?
Should variables be stored in local blocks?
What is a register variable?
What is scope & storage allocation of extern and global variables?
What is the difference between 'for' and 'while' loops?
Are the variables argc and argv are local to main?
How do I print the contents of environment variables?
Explain the variable assignment in the declaration