산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C언어 malloc() 마스터하기: 실전 예제로 이해하는 동적 메모리 할당

C언어에서 malloc()이란?

C 표준 라이브러리에서 malloc() — "memory allocation"의 줄임말 — 은 런타임에 연속된 메모리 블록을 동적으로 예약합니다. 이 함수는 해당 블록의 시작 위치를 가리키는 void* 포인터를 반환하며, 필요한 포인터 타입으로 캐스팅해 사용할 수 있습니다.

문법

ptr = (cast_type *)malloc(byte_size);

여기서:

예제:

ptr = (int *)malloc(50);

이 호출 후 50바이트의 메모리가 예약되고, ptr은 해당 공간의 첫 번째 바이트를 가리킵니다.

실전 예제

#include <stdlib.h>
#include <stdio.h>
int main() {
    int *ptr;
    ptr = malloc(15 * sizeof(*ptr)); /* 15개 정수를 위한 공간 할당 */
    if (ptr != NULL) {
        *(ptr + 5) = 480; /* 6번째 정수에 480 할당 */
        printf("6번째 정수의 값은 %d", *(ptr + 5));
    }
    return 0;
}

출력:

6번째 정수의 값은 480

C언어 malloc() 마스터하기: 실전 예제로 이해하는 동적 메모리 할당

핵심 요점

malloc()은 문자, 구조체, 사용자 정의 타입 등 모든 데이터 타입과 작동하므로 C 프로그래머에게 유연한 메모리 관리를 제공합니다.

C 언어

  1. C++ switch-case 마스터하기: 문법, 활용법, 실전 예제
  2. C++ 동적 배열 할당 완벽 가이드: new, delete, 실전 코드 예제
  3. C++ 포인터 완전 정복: 개념, 예제, 실전 활용
  4. C++ 연산자 오버로딩 실전 가이드: 문법, 접근법, 코드 예제
  5. C++ 구조체(struct) 완벽 가이드: 선언, 인스턴스, 포인터, 함수 인자 전달
  6. C++ std::map 완전 정복: 정렬된 키-값 컨테이너 실전 가이드
  7. C++ std::list 마스터하기: 문법, 함수, 실전 예제
  8. C++ 함수 완전 정복: 실전 코드 예제로 이해하기
  9. C언어 calloc(): 제로 초기화 메모리 할당과 실전 예제
  10. C언어 realloc() 활용법: 문법, 모범 사례, 실전 예제