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
'Computer Science > Algorithm' 카테고리의 다른 글
[배열과 포인터] 포인터 증감연산 (0) | 2020.10.14 |
---|---|
Heap sort (힙정렬) (0) | 2020.09.03 |
Merge Sort (병합 정렬) (0) | 2020.09.03 |
[배열과 포인터] 일차원 배열과 이차원 배열 및 포인터 표기 방법 (0) | 2020.09.01 |
[구조체] struct 선언 방법들 (0) | 2020.09.01 |