easy software

C언어 static 변수 활용 방법 본문

C언어/변수와 함수

C언어 static 변수 활용 방법

JAVA 웹개발자 2015. 1. 7. 22:35

전역 변수는 프로그램내의 모든 지역에서 사용할 수 있는 변수입니다.

 

그런데 전역 변수는 때때로 프로그램의 흐름을 복잡하게 할 수도 있기 때문에 주의해서 사용해야 합니다.

 

만약, 어떤 지역 내에서만 계속 값을 누적해야 할 때는 전역 변수가 마땅치 않을 수 있습니다. 왜냐하면 다른 함수에서도 변수의 값을 변경할 수 있기 때문이죠.

 

그럴때 static변수를 사용합니다.

 

아래는 static변수를 활용하여 금액을 계속 저금하는 프로그램입니다.

 

프로그램의 흐름을 보시면 static변수를 이해하는데 도움이 될겁니다.

 

#include <stdio.h>

 

void Add(int);

     int main(void){

     int input = 0;

 

//사용자가 입력한 값이 -1이면 반복 종료
     while (input != -1){

          printf("저금할 금액 : ");
          scanf_s("%d", &input);

  

//사용자가 -1이 아닌 다른 금액을 입력하면 저금
          if (input != -1)
               Add(input);

       

   else
         printf("입금 완료\n");
 }

 

 return 0;


}

 

//저금통 기능을 하게 될 함수
void Add(int a){

     static int add = 0; //저금할 금액을 저장할 static 변수

     add += a;

     printf("현재까지의 입금액 %d원\n", add);


}

Comments