언어/C++
[C/C++] 메모리 동적할당
0802ojw
2023. 12. 10. 23:56
[C]
#include <stdio.h>
#include<malloc.h>
int main() {
int* ptr = (int*)malloc(sizeof(ptr));
free(ptr); // 사용 후 free 필수
}
사용후에는 free로 할당한 메모리를 해제하는것이 필수이다
[C++]
#include <iostream>
using namespace std;
int main() {
//메모리 동적할당 해보기
int* ptr = new int; //메모리를 OS로 부터 가져온다
cout << ptr << endl; // 주솟값이 나온다
cout << *ptr << endl; // null 이 나올것이다. -> 실제론 쓰레깃값이 나왔다.
delete ptr; //메모리를 OS에 다시 반납한다.
ptr = nullptr; //포인터 변수에 계속해서 남아있는 메모리 주소를 null을 가리키게 한다.
return 0;
}
메모리 누수를 방지하기 위해선 delete를 꼭 해주어야 한다