55 – 변수 기억 클래스(정적 변수)

자동 변수는 그 함수 내에서만 사용되며 함수에서 벗어나면 소멸하지만, 정적 변수(static variable)는 데이터 영역 이 기억 영역에 영구적으로 존재한다. 그리고 사용 용도에 따라 내부 정적 변수와 외부 정적 변수로 나뉜다.

  • 내부 정적 변수: 함수 안에서 선언된 정적 변수
  • 외부 정적 변수: 함수 밖에서 선언된 정적 변수

먼저, 내부 정적 변수는 함수 안에서 선언되며 그 함수 안에서만 사용할 수 있다. 그러나 자동 변수와 달리 그 함수를 빠져 나왔다가 다시 들어가도 이전 값이 그대로 유지된다. 그 예시가 아래와 같다.

스크린샷 2017-04-05 오전 1.39.41

그리고 외부 정적 변수는 함수 외부에서 정적으로 선언되는 변수로, 분리 컴파일 시 변수가 선언된 파일 내에서는 참조가 가능하지만 다른 파일에서는 참조할 수 없다. 다음은 이에 대한 예시로, 외부에서 선언한 정적 변수 count를 다른 파일에서 사용하려 하지만 사용이 불가능하다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.