• 코드:
​x
 
1
#include <stdio.h>
2
#include <stdlib.h>
3
​
4
int main(void)
5
{
6
    int i, total_len;
7
    int arr_len = 3, add_len = 2;
8
    int* ptr_arr;
9
    
10
    ptr_arr = (int*) malloc(arr_len * sizeof(int)); // 메모리의 동적 할당 
11
    
12
    if (ptr_arr == NULL)    // 메모리의 동적 할당이 실패할 경우
13
    {
14
        printf("메모리의 동적 할당에 실패했습니다.\n");
15
        exit(1);
16
    }
17
    
18
    printf("동적으로 할당받은 메모리의 초기값은 다음과 같습니다.\n");
19
    for (i = 0; i < arr_len; i++)
20
    {
21
        printf("%d ", ptr_arr[i]);
22
    }
23
    
24
    total_len = arr_len + add_len;
25
    ptr_arr = (int*) realloc(ptr_arr, (total_len * sizeof(int)));   // 메모리의 추가 할당 
26
    
27
    if (ptr_arr == NULL)    // 메모리의 추가 할당에 실패할 경우
28
    {
29
        printf("메모리의 추가 할당에 실패했습니다.\n");
30
        exit(1);
31
    }
32
            
33
    printf("\n추가로 할당받은 메모리의 초기값은 다음과 같습니다.\n");
34
    for (i = 0; i < total_len; i++)
35
    {
36
        printf("%d ", ptr_arr[i]);
37
    }
38
    
39
    free(ptr_arr);          // 동적으로 할당된 메모리의 반환 
40
    
41
    return 0;
42
}
43
​
표준입력 & 실행옵션