본문 바로가기

동적할당2

19_동적할당2(Dynamic Allocation) - calloc 동적 할당의 개념은 malloc함수를 통해 공부했다. 이번엔 calloc함수에 대해 알아보자. 우선 calloc함수의 선언 방법은 이러하다. calloc(siez_t Count, size_t Size); size_t 자료형의 정의로 이동해 보면 #ifdef _WIN64(전처리기) 안에 typedef unsigned __int64이라고 나와있다. #ifdef _WIN64이 키워드를 보면 운영체제 윈도 64비트일 때 실행된다. 이 자료형은 부호가 없는 64비트 정수의 형태이다. 매개변수 size_t Count는 메모리를 할당할 요소의 수이고, size _t Size는 각 요소들의 크기(바이트)이다. 이제 10개의 정수 배열에 메모리를 calloc키워드를 사용하여 할당해 보자. int *p; p = (int*.. 2023. 4. 30.
18_동적할당1(Dynamic Allocation) - malloc C언어에서 동적 할당의 개념이란? 메모리를 좀 더 효율적으로 쓰기 위해 사용하는 개념이다. 어떻게 효율적으로 쓸까? 프로그래머는 동적 할당을 통해 프로그램이 실행되는 런타임 상태일 때 동적으로 메모리에 할당할 수 있게 된다. 필요한 메모리의 크기가 컴파일 시간이 아니라 런타임에 결정될 수 있다. 이러한 특성은 메모리 크기를 미리 결정할 수 없거나 사용자 입력 또는 기타 프로그램 조건에 따라 달라질 때 유연한 프로그래밍을 할 수 있게 된다. 먼저 메모리 영역에 대해 알아보고, 어떤 영역이 동적 할당이 이루어지는지 알아보자. Code Area 함수와 상수, 실행한 프로그램의 소스코드가 저장되는 공간이며, 함수나 상수는 컴파일 단계에서 검사를 마치고 저장되므로 이곳은 정적 메모리이다. Data Area 전역 .. 2023. 4. 26.