프로그램 예가 포함된 C 라이브러리의 calloc() 함수
C에서 calloc이란 무엇입니까?
The 호출() C에서 Calloc은 동일한 크기의 여러 메모리 블록을 할당하는 데 사용되는 함수입니다. 배열 및 구조체와 같은 복잡한 데이터 구조에 메모리 공간을 할당하고 메모리에 대한 void 포인터를 반환하는 동적 메모리 할당 함수입니다. Calloc은 연속 할당을 의미합니다.
Malloc 기능 C의 calloc 함수는 메모리 공간의 여러 블록을 할당하는 데 사용되는 반면 단일 메모리 공간 블록을 할당하는 데 사용됩니다. C 프로그래밍에서 calloc에 의해 할당된 각 블록의 크기는 동일합니다.
calloc() 구문:
ptr = (cast_type *) calloc (n, size);
- 위 C의 calloc 명령문 예는 동일한 크기의 n 메모리 블록을 할당하는 데 사용됩니다.
- 메모리 공간이 할당된 후 모든 바이트는 XNUMX으로 초기화됩니다.
- The 포인터 현재 할당된 메모리 공간의 첫 번째 바이트에 있는 값이 반환됩니다.
메모리 부족 등 메모리 공간 할당에 오류가 발생할 때마다 아래 calloc 예제와 같이 널 포인터가 반환됩니다.
콜록을 사용하는 방법
아래 C 언어의 calloc 프로그램은 산술 시퀀스의 합을 계산합니다.
#include <stdio.h> int main() { int i, * ptr, sum = 0; ptr = calloc(10, sizeof(int)); if (ptr == NULL) { printf("Error! memory not allocated."); exit(0); } printf("Building and calculating the sequence sum of the first 10 terms \ n "); for (i = 0; i < 10; ++i) { * (ptr + i) = i; sum += * (ptr + i); } printf("Sum = %d", sum); free(ptr); return 0; }
C 예제의 calloc 결과:
Building and calculating the sequence sum of the first 10 terms Sum = 45