English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 기능calloc()
연속 위치를 나타냅니다. 그것의 작동 방식은 비슷하게malloc()
하지만 여러 개의 동일한 크기의 메모리 블록을 할당합니다.
이것은calloc()
C 언어의 문법
void *calloc(size_t number, size_t size);
여기서
호할당될 배열의 요소 수- 。
크기-바이트 단위로 할당된 메모리 크기입니다.
이것은calloc()
C 언어의 예제
#include <stdio.h> #include <stdlib.h> int main() { int n = 4, i, *p, s = 0; p = (int*) calloc(n, sizeof(int)); if(p == NULL) { printf("\n오류! 메모리가 할당되지 않았습니다."); exit(0); } printf("\n배열 요소를 입력하세요: "); for(i = 0; i < n; ++i) { scanf("%d", p + i); s += *(p + i); } printf("\n합계: %d", s); return 0; }
출력 결과
배열 요소를 입력하세요: 2 24 35 12 합계: 73
위의 프로그램에서 메모리 블록은 할당됩니다calloc()
。포인터 변수가 null이면 메모리 할당이 없습니다. 포인터 변수가 비어지지 않으면 사용자가 배열의 네 개의 요소를 입력해야 하며, 요소의 합을 계산해야 합니다.
p = (int*) calloc(n, sizeof(int)); if(p == NULL) { printf("\n오류! 메모리가 할당되지 않았습니다."); exit(0); } printf("\n배열 요소를 입력하세요: "); for(i = 0; i < n; ++i) { scanf("%d", p + i); s += *(p + i); }
이 함수malloc()
요청한 바이트 크기를 할당하고, 할당된 메모리의 첫 번째 바이트에 대한 포인터를 반환합니다. 실패하면 널 포인터를 반환합니다.
이것은malloc()
C 언어의 문법
pointer_name = (cast-type*) malloc(size);
여기서
pointer_name-포인터에 어떤 이름을 주든지.
cast- type-그것을 할당된 메모리의 데이터 타입으로 강제 변환해야 합니다malloc()
。
크기-바이트 단위로 할당된 메모리 크기입니다.
이것은malloc()
C 언어의 예제
#include <stdio.h> #include <stdlib.h> int main() { int n = 4, i, *p, s = 0; p = (int*) malloc(n * sizeof(int)); if(p == NULL) { printf("\n오류! 메모리가 할당되지 않았습니다."); exit(0); } printf("\n배열 요소를 입력하세요: "); for(i = 0; i < n; ++i) { scanf("%d", p + i); s += *(p + i); } printf("\n합계: %d", s); return 0; }
이것은 출력입니다
출력 결과
배열 요소를 입력하세요: 32 23 21 8 합계: 84
위의 프로그램에서 네 개의 변수가 선언되었으며, 그 중 하나는 포인터 변수입니다* p, 그것은 malloc로 할당된 메모리를 저장합니다. 배열의 요소는 사용자가 인쇄하고 요소의 총 합을 인쇄합니다.
int n = 4, i, *p, s = 0; p = (int*) malloc(n * sizeof(int)); if(p == NULL) { printf("\n오류! 메모리가 할당되지 않았습니다."); exit(0); } printf("\n배열 요소를 입력하세요: "); for(i = 0; i < n; ++i) { scanf("%d", p + i); s += *(p + i); } printf("\n합계: %d", s);