산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C언어 calloc(): 제로 초기화 메모리 할당과 실전 예제

C언어에서 calloc이란?

C언어의 calloc() 함수는 동일한 크기의 메모리 블록 여러 개를 할당하고 모든 바이트를 0으로 초기화합니다. 배열이나 구조체 같은 복잡한 데이터 구조에 사용되는 동적 할당 루틴으로, void * 포인터를 반환합니다.

malloc()이 단일 연속 블록을 예약하는 반면, calloc()은 각각 size 바이트인 n개의 블록을 요청하며, 이들이 제로화되고 연속적임을 보장합니다.

문법

ptr = (cast_type *)calloc(n, size);

calloc 사용 예제

다음 프로그램은 calloc()을 사용해 등차수열의 첫 10개 항의 합을 계산하는 방법을 보여줍니다.

#include <stdio.h>
#include <stdlib.h>
int main(void) {
    int *ptr, sum = 0;
    ptr = calloc(10, sizeof(int));
    if (!ptr) {
        fprintf(stderr, "Error! Memory not allocated.\n");
        return EXIT_FAILURE;
    }
    printf("첫 10개 항의 합 계산:\n");
    for (int i = 0; i < 10; ++i) {
        ptr[i] = i;
        sum += ptr[i];
    }
    printf("합계 = %d\n", sum);
    free(ptr);
    return EXIT_SUCCESS;
}

출력

첫 10개 항의 합 계산:
합계 = 45

C 언어

  1. C++ 구조체(struct) 완벽 가이드: 선언, 인스턴스, 포인터, 함수 인자 전달
  2. C++ std::map 완전 정복: 정렬된 키-값 컨테이너 실전 가이드
  3. C++ std::list 마스터하기: 문법, 함수, 실전 예제
  4. C++ 함수 완전 정복: 실전 코드 예제로 이해하기
  5. C언어 realloc() 활용법: 문법, 모범 사례, 실전 예제
  6. C언어 free() 함수 마스터하기: 실전 가이드와 예제
  7. 자바 삽입 정렬 알고리즘: 명확한 예제와 단계별 가이드
  8. 자바 선택 정렬: 단계별 예제와 전체 코드
  9. Python strip() 메서드 완전 정복: 종합 가이드와 실전 예제
  10. Haas CNC M97 로컬 서브프로그램 호출 마스터: 단계별 예제