Static Variable

Kimbab1004·2024년 6월 28일
0

CPP

목록 보기
9/27
post-thumbnail

변수의 종류

  1. 지역변수 - 스택
  2. 전역변수 - 데이터
  3. 정적변수(static) - 데이터
  4. 외부변수(extern) - 데이터

전역 변수란?

프로그램 시작 부터 프로그램 종료시 까지 존재하는 변수이다. 데이터 영역에 저장되며 함수의 호출 종료에 상관없이 계속 유지되는 변수이다. 어드 함수에서든 접근이 가능하다는 장점이 있지만 이는 때때로 단점이 되기도 한다.

file1.cpp 파일에서 file2.cpp의 RealGlobalValue라는 이름의 전역 변수를 사용하기 위해서는 extern 선언을 해줘야 한다.

//file1.cpp
extern int RealGlobalValue;

정적 변수란?

정적 변수는 일반적인 auto변수 또는 dynamic변수와 작동 방식이 다르다. 정적 변수는 프로그램 시작 시 메모리에 할당되고, 프로그램 종료 시 메모리가 해제된다.(변수의 범위를 벗어나도 값을 유지한다.)

이러한 정적 변수는 프로그램의 수정, 유지 보수, 재사용을 어렵게하는 단점이 있는 전역 변수의 단점을 부분적으로 보완한다고 볼 수 있다.

  1. 데이터 영역에 변수가 저장됨
  2. 정적 변수가 선언된 함수가 최초 호출될 때 초기화 됨 (한번만 진행)
  3. 정적변수를 선언한 함수에서만 접근 가능
static int g_Static = 0;

0개의 댓글