83. malloc 함수

학생1) malloc 함수는 동적 메모리 할당 함수야. 학생2) 김종서가 노래합니다. 제목은 "지금은 알 수 없어." 말록(my love) 부디 나를 잊어줘~

void *malloc(size_t size);

malloc 함수를 사용할 때는 입력 인자로 필요한 형식의 메모리 크기를 전달하세요.
malloc 함수는 요청한 크기의 메모리를 동적으로 할당하여 반환해줘요.
호출한 곳에서는 원하는 형식의 포인터로 형변환하여 할당받은 주소를 기억하세요.
그리고 간접 연산이나 인덱스 연산으로 할당받은 메모리에 원하는 값을 설정하거나 얻어올 수 있어요.

참고로 malloc 함수를 호출하면 메모리만 할당하며 할당한 메모리의 값을 초기화하지 않아요.
따라서 동적으로 할당받은 메모리의 초기값은 쓰레기 값(Garbage Value)이예요.
그리고 동적으로 할당받은 메모리가 더 이상 필요 없으면 free 함수를 호출하여 해제하세요.

◈ malloc 함수 호출로 동적으로 메모리 할당하여 사용하는 예

◈ 실행 결과

 

동적 메모리 할당을 이용하면 컴파일 시점에 메모리 크기를 결정해야 하는 배열의 한계를 극복할 수 있어요.
예를 들어 관리해야 할 학생 수를 최종 사용자가 결정한다면 컴파일 시점에 배열을 선언하는 것은 한계가 있겠죠.
물론 동적으로 메모리를 할당받아 사용할 때도 할당한 메모리를 벗어나지 않게 주의해서 사용하세요.

◈ 학생 수를 입력 받아 동적으로 메모리를 할당받아 사용하는 예


[C언어 무료 동영상 강의] 82~85. 동적 메모리 할당 함수