본문 바로가기
Programming/C++

[Modern C++ 공부 - Day1] 지역 변수 local variable

by 롱일스 2023. 6. 15.
반응형

Modern C++ 공부 Day 1입니다.

본격적으로 Modern C++에 대해 알아보기 전에 기본적인 개념을 먼저 복습하고자 합니다.

오늘 다룰 내용은 지역 변수 (Local variable)입니다. 

 

지역 변수는 특정 scope (범위) 내에 존재하는 변수를 말합니다.
여기서 scope는 코드에서 아래와 같이 괄호 { }로 정의되는 영역을 의미합니다.

{                    // scope 시작
     int x;          // 변수 x에 메모리 할당 및 초기화
		       
}                    // scope 끝, 변수 x 소멸, 메모리 해제


구체적으로 이 간단한 코드의 뒤에서 일어나는 일에 대해서 알아봅시다. 

  1. int x; 부분에서 변수 x를 위해 자동적으로 프로그램의 스택 (stack)에 메모리가 할당됩니다.

  2. 메모리 할당 후, 변수가 초기화 됩니다. 위의 코드와 같이 초기화할 값을 지정해주지 않은 경우에는 default 초기화가 진행됩니다. int와 같이 빌트인 타입은 default 초기화에 의해 아무 값으로 초기화합니다. 만약 int가 아닌 클래스의 객체로 변수를 초기화한다면, 클래스의 생성자를 이용해서 객체가 초기화됩니다.

  3.  "}" 에 도달해서 scope가 끝나면, 변수 x도 같이 소멸됩니다. x가 사용하던 메모리가 해제되고 그 안의 데이터에 더이상 접근할 수 없게 됩니다.

 

이미 알고 있는 내용이라도 복습의 차원에서 설명했습니다. 

다음 글에서는 함수 인자 (Function Argument)에 대해서 알아보겠습니다. Pass by value 에 대해 다룰 것입니다.

 

다음 글로 바로 가기!

2023.06.15 - [Programming/C++] - [Modern C++ 공부 - Day2] 값에 의한 전달 Pass by value

 

[Modern C++ 공부 - Day2] 값에 의한 전달 Pass by value

Modern C++ 공부 Day 2입니다. 오늘 공부할 내용은 함수 인자 전달 방식 중 하나인 Pass by value입니다. 함수 인자의 전달 방식은 다양하게 존재하는데, 오늘은 그 중 pass by value에 대해 먼저 설명하겠습

huangdi.tistory.com

 

728x90
반응형