c언어 static 변수

static 변수는 지역변수와 전역변수 둘의 성질을 같이 가지고 있다고 보면 된다. static 변수는 지역변수처럼 선언된 함수내에서만 사용이 가능하며,단 한번만 초기화를 할뿐 전역 변수처럼 프로그램이 종료될때까지 메모리공간에 존재하게된다. 다른점은 지역변수와는 달리 해당 함수가 반환을 하더라도 소멸되지 않는다. 이처럼 다른 함수에서는 쓸수없지만 해당함수 내에서는 static 변수는 프로그램이 종료를 하기전까진 소멸되지 않는다. 아래와 같은 예제를 살펴보자결과를 보면알겠지만 num1은 static이라 한번 초기화될 뿐 값이 사라지지 않고 계속 유지 되지만.num2는 simpleFunc 함수를 실행 할때마다 초기화되어 값이 그대로이다.#includevoid simpleFunc(void); int main(..

c언어 함수와 전역변수를 사용하여 저축, 인출 하기

전역변수는 모든 곳에서 쓰일수있는 변수를 말한다.어떻게 보면 좋을수도 있지만 과도하게 전역변수를 사용하면 코드가 꼬여 버릴수가있다.우리는 이를 마치 스파게티 처럼 코드가 꼬여있다고 하여 스파케티 코드라 한다 저축, 인출 프로그램을 만들어보자.현재잔액을 전액변수로 사용하여 프로그램을 짜보도록 하자. #include #pragma warning(disable:4996) void draw(int amount); //인출 함수원형 정의void save(int amount); //저축 함수원형 정의int money = 5000; // 현재 잔액-전역변수 int main(void){int amount; //입력받을 돈 변수int n = 1; //반복제어 변수 while (n != 0) {//n의 값이 0과 같지않으..