이전에 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 |