메모리 할당을 원하는 시점에서 할 수 있습니다.
힙 메모리에 할당되며, 메모리를 해제하기전까지 남아있으므로 삭제를 해주어야합니다.
메모리 주소를 포인터로 가리켜서 사용하면 됩니다.
힙 영역에 메모리 공간을 할당하며, 메모리 주소를 반환해줍니다.
#include<iostream>
using namespace std;
int main() {
int *pnum = new int;
*pnum = 100;
cout << "*pnum : " << *pnum << endl;;
return 0;
}
동적할당한 메모리를 해제합니다.
#include<iostream>
using namespace std;
int main() {
int *pnum = new int;
*pnum = 100;
cout << "*pnum : " << *pnum << endl;;
delete pnum;
// cout << "*pnum" << *pnum << endl;;
return 0;
}
연속된 배열을 메모리에 할당할 수 있습니다.
이 또한, 끝나면 삭제해줘야 합니다.
#include<iostream>
using namespace std;
int main() {
int *parray = new int[10];
parray[1] = 200;
cout << "parray[1] : " << parray[1] << endl;;
delete[] parray;
// cout << "parray[1]" << parray[1] << endl;;
return 0;
}
- 과제1 : char로 동적할당하여 문자열 복사해서 출력하기
예제 코드:
#include<iostream>
using namespace std;
int main() {
char *pstr = new char[100];
// 이곳을 채워서 완성해봅니다
cout << "pstr : " << pstr << endl;;
delete[] pstr;
return 0;
}