C언어

[C언어] malloc() 함수

_minit 2024. 10. 8. 15:21

malloc() 함수는 C 프로그래밍 언어에서 동적 메모리를 할당하기 위해 사용되는 함수이다. 이 함수는 표준 라이브러리 <stdlib.h>에 정의되어 있다.

 

메모리 동적 할당이란

메모리 동적 할당(Dynamic Memory Allocation)은 프로그램 실행 중에 필요한 메모리를 요청하고 할당받는 과정을 의미한다.

이 방식은 프로그램이 시작될 때 고정된 크기의 메모리를 미리 할당하는 정적 할당과는 달리. 실행 중에 필요에 따라 메모리를  동적으로 요청하고 해제할 수 있다.

 

사용법

#include <stdlib.h>

void* malloc(size_t size)

 

매개변수 

  • size : 할당한 메모리의 크기(바이트 단위)를 지정한다.

반환값

  • 성공적으로 메모리를 할당하면, malloc은 해당 메모리 블록의 포인터를 반환한다.
  • 메모리 할당에 실패하면 NULL을 반환한다.

 

malloc은 메모리를 선언하면서 선언하는 자리에 있는 값들을 그래도 가져온다. 

만약 1000번지에 10이라는 값이 들어가 있고 메모리가 1000번지 자리에 선언돼도 10이라는 값이 남아있다는 말이다.

즉, malloc으로 메모리를 할당할 때, 그 메모리 블록은 초기화되지 않는다.

 

 

메모리 해제

#include <stdlib.h>

void free(void *ptr);

 

 

 

728x90

'C언어' 카테고리의 다른 글

[C언어] (void *) 포인터란?  (0) 2024.10.10
[C언어] memcpy() 함수  (0) 2024.10.10
[C언어] memset() 함수  (0) 2024.10.10
[C언어] realloc() 함수  (0) 2024.10.08
[C언어] calloc() 함수  (0) 2024.10.08