카테고리 없음

백준 11720문제 정답 (배열 동적할당)

;lkjfdsa 2021. 12. 23. 09:52
반응형

정답 코드

- 문제를 풀 때 다양한 방식으로 접근해야겠다. 

 

- 문자열을 선언할 때 문자열의 끝을 알려주는 null의 공간도 함께 생성하는 것 꼭 기억하기!!

 

- malloc()함수와 free()함수의 사용법을 알게 되었다.

  (malloc함수)

  * #include <stdlib.h>헤더 파일을 사용함.

  * 만약 int형 배열 size 동적 할당을 하면

        int* i = (int*) malloc (sizeof(int) * num); //배열의 요소가 num개의 배열을 동적할당한다.

                                                             (그만큼의 메모리를 할당한다.)

       (int*) : malloc의 반환형이 void* 이므로 (int *)형태로 형변환을 한다.

       sizeof(int) : 괄호 안에 자료형 타입을 바이트로 연산해준다.

       * num : sizeof()로 연산한 자료형의 바이트 곱하기 num 만큼의 메모리 공간을 할당

      동적 할당에 성공 하면 할당한 메모리의 첫번째 주소 리턴

 

  (free함수)

  * #include <stdlib.h>헤더 파일을 사용함

  * malloc 함수를 사용한 뒤 메모리를 헤제시켜주는 함수

  * malloc 함수로 동적 메모리를 할당하면 이 공간은 프로그램이 종료될 때까지 존재한다.

    따라서 사용이 끝난 뒤에는 회수를 해야한다.

  * free(i) // i는 동적 메모리를 할당한 변수이다.

반응형