728x90
malloc 함수는 C 프로그램에서 특정 작업을 수행하는 코드 블록으로, 임의의 입력을 받아 처리하고 결과를 반환할 수 있는 코드의 일부입니다. 함수는 프로그램을 모듈화하고 코드를 구조화하는 데 사용됩니다. 함수는 다음 요소로 정의됩니다:
함수 구조
void* malloc(size_t size);
size_t 데이터 형식은 부호 없는 정수로, 메모리 블록의 크기를 나타냅니다. 이 크기는 바이트 단위로 지정됩니다.
malloc() 함수는 메모리 할당에 실패한 경우 NULL 포인터를 반환합니다.
malloc() 함수 예제 코드:
아래는 malloc() 함수를 사용하여 정수 배열을 동적으로 할당하는 예제 코드입니다.
#include <stdio.h>
#include <stdlib.h>
int main() {
int size = 5; // 배열의 크기
int *arr; // 정수 포인터
// malloc()을 사용하여 메모리 동적 할당
arr = (int*)malloc(size * sizeof(int));
if (arr == NULL) {
printf("메모리 할당에 실패했습니다.\n");
return 1; // 에러 코드 반환
}
// 동적으로 할당된 배열에 값을 저장
for (int i = 0; i < size; i++) {
arr[i] = i * 10;
}
// 할당된 메모리 사용
printf("할당된 배열 요소: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 메모리 해제
free(arr);
return 0;
}
위의 코드에서, malloc() 함수를 사용하여 정수 배열을 동적으로 할당하고, 할당된 메모리에 값을 저장한 후, free() 함수를 사용하여 할당된 메모리를 해제합니다.
이렇게 메모리를 동적으로 할당하면 프로그램이 더 효율적으로 메모리를 사용할 수 있으며, 크기를 동적으로 조절할 수 있습니다.
728x90
반응형
'언어 > C언어' 카테고리의 다른 글
[c언어] 배열을 이용한 FIFO구조 만들기 (1) | 2023.11.19 |
---|---|
[c언어] qsort 함수란? (1) | 2023.10.30 |
[c언어] strcpy 함수 (1) | 2023.10.30 |
[c언어] 멀티스레딩과 병렬 프로그래밍 (0) | 2023.10.28 |
[C언어] strstr 함수 사용 (2) | 2023.10.27 |
댓글