본문 바로가기
Programming Languages/C++

variable(변수), local variable(지역변수), global variable(전역변수)

by Juunny 2022. 6. 26.
반응형

variable(변수)는 변할 수 있는 수로, 컴퓨터에서 프로그램이 실행되는 동안  데이터(값)을 저장하기 위한 공간을 의미한다. 모든 변수는 사용하기 전에 미리 선언해야 하고, 반드시 초기화해야 한다. 변수는 이름이 꼭 있어야 하는데 이름은 알파벳, 숫자, 밑줄을 사용하여 만들 수 있다.

 

  지금 보는 코드는 변수를 초기화한 모습이다. 변수를 초기화한다는 건 프로그램 시작에 앞서 초기의 값을 정하는 걸 의미한다. 여기서 int는 자료형 이름으로 여기서는 정수를 나타내고, i는 변수의 이름이다. 따라서 이 코드는 정수형 i를 선언하는데, 그 i는 50을 저장하고 있다는 의미를 가지고 있다. 한편, 변수 선언과 동시에 초기화를 다음과 같이 할 수 있다.

  최근에는 { } 를 사용하여 변수를 초기화하기 시작하였다. 아래의 형식으로 바로 위와 같은 의미를 가진다.

  또한, 동시에 여러 개의 변수를 선언할 수도 있다.

 
  변수는 선언하는 위치에 따라 지역변수(local variable), 전역변수(global variable)로 나뉜다. 지역 변수는 특정 범위에서만 통용되는 변수로, 함수 내부에 위치하여 선언된 함수 내에서만 사용할 수 있다. 중간에서도 선언 가능하다. 또한 속해있는 함수의 실행이 끝나면 소멸되어 사용할 수 없다. 왜냐하면 임시 기억 공간인 스택 영역에 저장되기 때문이다.
  한편, 전역변수는 함수 밖이나 외부 파일에 위치하여, 프로그램 실행 중 어디에서나 사용할 수 있다. 즉, 자료 영역 기억공간에 저장되어 프로그램이 실행하는 동안 기억공간에 항상 존재하고 있다.
  만약 같은 범위 내 같은 이름의 지역변수와 전역변수가 있을 경우 지역변수가 우선되어 사용한다. 또한 전역변수를 선언할 때 되도록 프로그램의 앞쪽에 위치시키는데, 이는 변수가 선언된 위치 이후부터 변수의 효력이 발생하기 때문이다.
 전역변수보다 지역변수 사용을 추천한다. 그 이유는 지역함수를 사용할 경우, 함수가 독립성이 향상되고, 기억공간이 절약되며, 디버깅시 효율이 높아지기 때문이다. 또한, 코드의 재활용이 쉽고, 재귀함수의 구현이 가능하다는 장점도 가지고 있다.
 
 
 
반응형
LIST

'Programming Languages > C++' 카테고리의 다른 글

자료형  (0) 2022.06.28
auto키워드(자동 타입 추론, automatic type deduction)  (0) 2022.06.27
C++ 문장 구조  (0) 2022.06.16
header file(헤더파일)  (0) 2022.06.14
namespace(이름공간)  (0) 2022.06.13

댓글