본문 바로가기
2학년 2학기/c언어

13-3장 동적 할당 영역을 배열처럼 쓰기

by kkkkk1023 2024. 11. 19.

이전에 malloc을 이용해서 Heap 영역에 있는 메모리를 동적 할당 받는 것을 해봤다. 이전에는 4byte(int)만 할당 받았지만, 이번에는 4byte를 5개 받아서 즉 int arr[5]와 같은 효과를 내는 메모리를 동적할당 받아보자.

 

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int* pi;
    pi = (int*)malloc(5 * sizeof(int));
    if (pi == NULL) {
        printf("메모리 할당 오류\n");
        exit(1);
    }
    
    *pi = 1; // pi[0] = 1;
    *(pi + 1) = 2; // pi[1] = 2;
    *(pi + 2) = 3; // pi[2] = 3;
    *(pi + 3) = 4; // pi[3] = 4;
    *(pi + 4) = 5; // pi[4] = 5;
    free(pi);
    
    return 0;
}

 

이렇게 sizeof(int) * 5해주면 총 20byte를 동적 할당 받을 수 있다. 

 

'2학년 2학기 > c언어' 카테고리의 다른 글

13-5장 realloc(), memset(), calloc()  (1) 2024.11.25
13-4장 구조체 동적 생성  (0) 2024.11.25
13-2장 malloc()과 free()  (0) 2024.11.19
13-1장 동적 메모리 할당란?  (0) 2024.11.19
12-8장 파일 포인터  (0) 2024.11.19