Static versus automatic variables : static Variables « Language « C Tutorial






#include <stdio.h>

void test1(void){
  int count = 0;
  printf("\ntest1   count = %d ", ++count );
}

void test2(void){
  static int count = 0;
  printf("\ntest2   count = %d ", ++count );
}

int main(void)
{
  int i;
  for(i = 0; i < 5; i++ )
  {
    test1();
    test2();
  }
  return 0;
}
test1   count = 1
     test2   count = 1
     test1   count = 1
     test2   count = 2
     test1   count = 1
     test2   count = 3
     test1   count = 1
     test2   count = 4
     test1   count = 1
     test2   count = 5








1.11.static Variables
1.11.1.Static variable
1.11.2.Static versus automatic variables