본문 바로가기

Coding/궁금한 것들

정적할당과 동적할당

정적할당 : main함수가 실행 되기 전에 저장공간이 생성되고 생성자가 호출된다.

 

동적할당 : 말 그대로 동적으로 메모리를 할당 -> new를 이용해 실행하여 메모리를 확보하고 생성자가 자동실행 된다. (힙영역에 존재, 포인터를 받아서 객체 포인터 변수에 주소값을 저장하고 처리), 사용 후 delete로 할당된 메모리를 삭제한다. (런타임 동안 배열 길이 선택가능)

 

형태 -> int *arry = new int[length]; (int *arry =new int[length](); 이렇게 하면 0으로 초기화 된다)

            delete[] arry;

 

            int *arry = new int;

            delete arry;

 

ex)  int *arry = new int[5]{1,2,3,4,5};

       char *aary = new char[14]{"Hello, world!"};

      

      int *pInt = new int(1); // 1으로 초기화된 int 타입 할당

      char *pChar = new char('a'); //  'a'로 초기화된 char 타입 할당

 

'Coding > 궁금한 것들' 카테고리의 다른 글

For문  (0) 2019.08.25
Top-down, Bottom-up  (0) 2019.08.20
Xcode 디버깅 방법  (0) 2019.08.10
Continue & Break  (0) 2019.08.10
포인터에 대해서  (0) 2019.08.08