1은 스택 영역을 사용한다2, 3, 4는 데이터 영역을 사용한다.O.S 마다 다르고 더 세분화 될 수 있지만 대표적으로 4가지로 분류할 수 있다.
이 문서에서는 Data 영역에 대해 다룰것이다.
다만, 분할 구현 등 다 수의 파일이 존재할 경우 다른 파일에서는 접근이 어렵다.
위 사진과 같이 함수 외부에 선언된 변수를 전역변수(사진에서 g_i)라고 한다.
위 사진에서 Test() 함수를 호출할 경우 지역변수인 i는 해당 값을 저장 하지 않을 경우, 함수의 반환과 함께 휘발된다.
즉, Test()를 n번 호출해도 i의 값은 0 과 1을 n번 만큼 오갈뿐이다.
하지만, 전역 변수인 g_i의 경우 데이터 영역에 값을 할당 하기 때문에 함수의 호출과 해제에 상관없이 Test()함수를
n번 만큼 호출했다면 g_i의 값은 n 만큼 증가한다.