본문 바로가기
OS/Linux

[C/Linux] static 변수

by dev_Step 2022. 9. 10.

static 변수는 초기화를 1번만 실행한다.

따라서 

int val  =0; 일떄와

static int val = 0;일떄의 결과는 달라진다.

 

val = 0 일경우는 지역변수로서

for문을 돌면서 fac()가  5번실행되는데 

val = 0; 초기화후 val++ 후  val출력(1) 

다시 val = 0 초기화 되기 떄문에  1 1 1 1 1 이 출력된다.

 

static int val = 0;인경우는 

static 변수는 지역변수더래도 해당 블록내에서 전역변수처럼 사용되기 때문에  

0으로 초기화되지 않고 1씩 증가하여 1 2 3 4 5가 출력된다.

'OS > Linux' 카테고리의 다른 글

[Linux/C] 배열은 포인터다!  (1) 2022.09.13
[C/Linux] 배열의 선언  (0) 2022.09.12
[Linux/C] 파일 입출력1-1(표준입출력)  (0) 2022.05.25
[Linux/C] 파일 입-출력2  (0) 2022.05.25
[Linux/C] Makefile  (1) 2022.05.19