실제 코드 내에서 malloc을 호출하기 때문에 메모리를 힙에 저장한다

2024. 8. 10. 16:57정보처리,전산/Clang

반응형

 

- 힙 메모리: 힙은 동적 메모리 할당을 위해 사용되는 컴퓨터의 메모리 영역이다. 프로그램이 동적으로 메모리를 할당해야 할 때, 보통 힙에서 공간을 요청한다.

- malloc 함수: C와 C++에서 malloc(memory allocation)은 힙에서 지정된 양의 메모리를 할당하는 데 사용되는 표준 라이브러리 함수이다. 할당된 메모리는 명시적으로 free 함수를 호출할 때까지 사용 가능하다.

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

int main() {
    int arr;
    int n = 5;

    // Allocating memory for an array of 5 integers on the heap
    arr = (int )malloc(n  sizeof(int));

    if (arr == NULL) {
        // Handle memory allocation failure
        printf("Memory allocation failed\n");
        return 1;
    }

    // Use the allocated memory
    for (int i = 0; i < n; i++) {
        arr[i] = i + 1;
        printf("%d ", arr[i]);
    }

    // Free the allocated memory
    free(arr);

    return 0;
}




- malloc은 힙에 5개의 정수를 저장할 메모리를 할당한다.
- 포인터 arr를 사용하여 동적으로 할당된 메모리에 접근하고 조작한다.
- 사용이 끝난 후, free를 호출하여 메모리를 힙에 반환한다.



1. 메모리 할당: malloc 함수를 사용하여 힙에 5개의 정수 공간을 할당한다.
2. 메모리 사용: 할당된 메모리에 1부터 5까지의 값을 저장한다.
3. 출력: 저장된 값들을 차례로 출력한다.
4. 메모리 해제: free 함수를 사용하여 힙에서 메모리를 반환한다.

 
 

 

 

반응형

'정보처리,전산 > Clang' 카테고리의 다른 글

문자열 포인터  (0) 2024.11.28
완전수  (0) 2024.11.28
변수의 범위(scope)  (0) 2024.07.26
포인터 배열 , 배열 포인터  (1) 2024.07.24
switch case while  (0) 2024.07.19