calloc

Описание на функцията

  • prototype: void * Calloc (unsigned int num, unsigned int size; calloc

  • Function: Assign NUM lengths in the dynamic storage area of ​​the memory: "

  • Забележка: Брой: Обекти, Размер: Номер на байта на паметта, зает от обект, В сравнение с функцията malloc, функцията Calloc автоматично ще инициира паметта в 0;

Разлика с Malloc

Calloc след динамично разпределение Автоматично инициализиране на пространството в паметта е нула, докато Malloc не се инициализира, данните в присвоеното пространство са произволни данни. Описанието на Malloc е както следва:

  • прототип: Extern void * malloc (unsigned int size);

  • функция: Динамично разпределение на паметта

  • Забележка: SIZE е само типът данни, съхраняван в приложението за памет, така че се препоръчва да го дадете по следните начини, когато програмирате типа данни, съхраняван в блока памет. "Дължина * SIZEOF (тип данни) ";

Използване

void * Calloc (размер_t nmenb, размер_t размер);

Calloc ) Функцията е разпределена в елемента NMEMB, където всеки елемент е SIZE байт. Тази функция връща указател, ако изискваното пространство е невалидно. След разпределяне на паметта функцията calloc () се инициализира чрез задаване на всички битове на 0. Например, извикайте функцията calloc (), за да разпределите място за съхранение за N цели числа и се уверете, че всички цели числа са инициализирани на 0:

pi = Calloc (n, sizeof (int));

Тъй като функцията calloc () ще изчисти разпределената памет, функцията malloc () не е, така че можете да извикате „1“ като първи аргумент, който присвоява място за всеки тип елемент с данни. Например:

структурна точка {int x, y;} * pi;

pi = calloc (1, sizeof (структурна точка));

След този оператор Pi ще посочи структура, а членовете x и y на тази структура са зададени на 0.

Обикновено използвайте free (иницииран адресен указател), за да освободите паметта, в противен случай приложенията за памет ще повлияят на производителността на компютъра, така че компютърът да се рестартира. Ако не го получите след употреба, можете също да използвате тази природа за достъп до блоковата памет.

Заглавен файл: stdlib.h или malloc.h

свързани функции: Malloc, Realloc, Free_Alloca

Пример за приложение

програма Пример 1

 #define_crt_secure_no_warnings # include main () {char * str = null; / * Assign memory space * / Str = (char *) Calloc (10, sizeof (char)) ; / * Write Hello * / STRCPY (STR, "Hello"); / * Display Variable Content * / Printf ("String IS% S \ N", STR); / * Release Space * / Free (STR); RETURN 0;} 

Пример 2

От този пример може да се види, че елементът се инициализира, след като пространството за съхранение е завършено.

 # include # includeint main () {INT i; int * Pn = (int *) Calloc (10, sizeof (int)); for (i = 0; i 

​​изведете десет 0

Related Articles
TOP