Computer Science/Algorithm

[정적 변수] Static variable 실행 예제

해피단무지 2020. 10. 13. 20:39

Case 1) static 변수 사용하지 않는 경우

#include <stdio.h>

int main()
{
	int i = 0;
    // 여기에 int a = 0; 쓰고 for문 안에 a = 0;만 해줘도 결과는 동일 
    
    for (int i=0; i<5; i++)
    {
    	int a = 0;
        printf("%d\n", a);
        a++;
        printf("%d\n", a);
    }
}

결과 화면

0
1
0
1
0
1
0
1
0
1

Case 2) static 변수를 사용하는 경우

#include <stdio.h>

int main()
{
	int i = 0;
       
    for (int i=0; i<5; i++)
    {
    	static int a = 0;
        printf("%d\n", a);
        a++;
        printf("%d\n", a);
    }
}

결과 화면 -> for문 안에서 초기화가 처음 한 번만 됨

0
1
1
2
2
3
3
4
4
5

Case 3) 초기화를 for문 밖에서 수행하는 경우

#include <stdio.h>

int main()
{
	int i = 0;
    static int a = 0;
    
    for (int i=0; i<5; i++)
    {
    	a = 0;
        printf("%d\n", a);
        a++;
        printf("%d\n", a);
    }
}

결과 화면 

0
1
0
1
0
1
0
1
0
1