동적할당 2

[C++] 가변배열(동적할당 활용)

가변 배열의 구현 이전 시간에 공부한 동적 할당 개념을 활용하여 'int형 가변 배열'을 직접 구현해보았다. - Arr.h 헤더 파일 및 Arr.cpp 파일 생성 Arr.h 헤더 파일의 생성 가변 배열의 필수 구조체 멤버 // int형 가변배열 typedef struct _tabArr { // 필수 멤버 3가지 int* pInt; int iCount; int iMaxCount; }tArr; 가변 배열을 구현하기 위해 헤더 파일에 구조체를 생성하였다. 구조체 필수 멤버로는 배열을 저장할 포인터 변수(pInt), 현재 배열의 요소 수를 확인할 변수(iCount), 배열의 최대 크기 변수(iMaxCount)까지 3가지가 필요하다. 가변 배열 필수 함수 // 배열 초기화 함수 void InitArr(tArr* ..

📚책읽기 2022.04.04

[C++] 동적할당(malloc)

동적 할당 동적 할당은 프로그램 실행 도중에(런타임 중) 사용자가 원하는 만큼 메모리를 요청할 수 있도록 한다. 이때 사용하는 메모리 영역은 스택/데이터/ROM/힙 영역 중 힙(Heap) 메모리 영역이다. 동적 할당은 원하는 메모리 크기를 힙 메모리 영역에서 할당하고 할당된 첫 번째 주소를 받아와서 어떤 목적으로 사용할지 포인터 캐스팅을 하면 된다. // 1. 힙 영역에 100 byte 만큼의 메모리를 할당 // 2. 할당된 시작 주소를 pInt 포인터 변수에 저장 int* pInt = (int*)malloc(100); (int*)와 같이 강제 포인터 캐스팅을 한 이유 malloc(memory allocator)은 반환 타입이 void 포인터의 함수이다. void 포인터는 주소만을 저장하기 위한 목적으로..

📚책읽기 2022.04.04
728x90