C언어를 하다가 보면 static이 앞에 붙은 변수들이 있을 것이다. 이것들은 왜 있으며, 어떻게 사용하는 것일까? 메모리 구조 일단은 운영체제에서 제공하는 메모리 영역을 살펴보자. 크게 보면은 코드 영역, 데이터 영역, 힙 영역, 스택 영역 이렇게 총 4가지로 구분이 된다. 아래의 그림은 메모리 구조를 도식화 한 것이다. 프로그램의 코드들은 코드 영역에 들어간다. CPU는 여기 저장된 명령어를 알아서 처리하게 된다. 데이터 영역은 전역 변수 및 정적 변수 (static)가 들어가게 된다. 이곳은 프로그램의 시작과 동시에 할당되고, 프로그램이 종료됨과 동시에 소멸한다. 전역 변수와 정적 변수는 할당과 동시에 0 또는 NULL로 초기화 되는 특징이 있다. 스택 영역은 지역 변수와 매개변수가 저장되는 영역이..