[C++] 처음부터 시작하는 C++ 3편. 메모리 할당 및 해제( new , delete ) 사용법

in #kr-dev6 years ago (edited)

프로그램을 만들면서 메모리 관리는 매우 중요합니다.
프로그램이 실행되기 위해서는 컴파일할때 변수들이 주소값을 확정되어야 했습니다.
하지만 , 이렇게 위해서는 프로그램에 많은 제약이 따르기 때문에 'heap' 이라는 공간이 생겼습니다.
'heap' 이라는 공간은 자유롭게 할당과 해제를 할수 있는 공간이기도 하지만 안정성이 보장되는 스택과 달리개발자가 스스로 제어해야 한다는 단점이 존재합니다.

오늘은 C++에서 할당과 해제하는 방법을 포스팅하겠습니다.

1. new , delete

결과

new 라는 것은 메모리 할당 , delete 는 메모리 해제 역할을 합니다.

int* test1 = new int; 처럼
메모리 할당은 간단합니다.
T* 변수명 = new T; 형태로 적어주시면 됩니다.

그런다음 할당한 변수에 값을 넣어줄때는
*test1 = 10 처럼
*변수명 = 값;을 해주시면 됩니다.

그리구 더이상 사용하지 않는 변수는 해제 해주어야 하기 때문에
delete 변수명; 을 해주시면 됩니다.

주의할점!! delete로 해제할수 있는것은 개발자(사용자)가 new를 통해서 할당한 공간만 가능합니다.
만약, 지역변수를 강제로 삭제하려고 한다면!!

아래와 같이 경고 메시지 창이 나타나게 됩니다.

마지막으로 배열로 할당하는 법을 배워보겠습니다.
특별히 다른점은 딱히 없습니다.

할당을 해줄때는
int* test3 = new int[5];
[]안에 할당해주고 싶은 갯수를 적으면 되고
해제를 할때는
[]붙여주기만 하면 됩니다.


<목록>

1. [C++] 처음부터 시작하는 C++ 1편. 입출력
2. [C++] 처음부터 시작하는 C++ 2편. using,namespace 사용법

Sort:  

어렵지만, 이해는 하고 갑니다, ㅎ

읽어주셔서 감사합니다.

Coin Marketplace

STEEM 0.30
TRX 0.11
JST 0.033
BTC 64243.42
ETH 3152.93
USDT 1.00
SBD 4.28