Skip to content

Latest commit

 

History

History
87 lines (59 loc) · 1.5 KB

14.new.md

File metadata and controls

87 lines (59 loc) · 1.5 KB

동적할당

메모리 할당을 원하는 시점에서 할 수 있습니다.

힙 메모리에 할당되며, 메모리를 해제하기전까지 남아있으므로 삭제를 해주어야합니다.

메모리 주소를 포인터로 가리켜서 사용하면 됩니다.

new

힙 영역에 메모리 공간을 할당하며, 메모리 주소를 반환해줍니다.

#include<iostream>

using namespace std;

int main() {
    int *pnum = new int;
    *pnum = 100;
    cout << "*pnum : " << *pnum << endl;;

    return 0;
}

delete

동적할당한 메모리를 해제합니다.

#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;
}