Static variables have the property of retaining their value even after they have been removed from their scope! As a result, static variables retain their previous value in their previous scope and are not re-initialized in the new scope. Below examples illustrate about static variable.
#include<stdio.h>
void test()
{
int a=10;
static int b=20;//initializing static variable
a++;
b++;//b is not re-initialized
printf(" the values of a and b are %d ,%d \n",a,b);
}
int main()
{
int i=0;
while(i<10)
{
test();
i++;
}
return 0;
}
the values of a and b are 11 ,21
the values of a and b are 11 ,22
the values of a and b are 11 ,23
the values of a and b are 11 ,24
the values of a and b are 11 ,25
the values of a and b are 11 ,26
the values of a and b are 11 ,27
the values of a and b are 11 ,28
the values of a and b are 11 ,29
the values of a and b are 11 ,30
Hope above code works for you and Refer the below Related Codes to gain more insights. Happy coding and come back again.
Also read: