더북(TheBook)

3.8 지역 변수와 전역 변수

앞에서 말했듯이 함수 안에서 생성된 변수는 static이라는 키워드를 사용해서 선언했느냐 아니냐에 따라, 함수가 끝날 때 메모리를 반환하지 않을 수도 있고 반환할 수도 있습니다. 즉, 변수의 생명 주기가 달라집니다.

또한, 변수는 선언 위치에 따라 변수를 접근하는 범위가 달라집니다. 함수 밖에서 선언된 변수를 전역 변수(global variable)라 하고 함수 안에서 선언된 변수를 지역 변수(local variable)라고 합니다. 전역 변수로 선언하면 그 변수는 현재 우리가 프로그래밍하고 있는 C 프로그램 안의 모든 함수에서 자유롭게 접근해 사용할 수 있습니다. 그리고 프로그램이 끝날 때까지 메모리를 반환하지 않기 때문에 프로그램이 끝날 때까지 변수가 살아 있습니다.

지역 변수는 말그대로 우리가 작성하고 있는 특정 함수 지역에서 생성하고 바로 자기 자신이 생성된 함수 안에서만 사용하는 변수입니다. 정적 변수에서 설명한 바와 같이 함수가 완료되면 사라집니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.