Calloc () Funkcija C bibliotēkā ar programmu PIEMĒRS

Satura rādītājs:

Anonim

Kas ir Calloc C?

Calloc () C ir funkcija, ko izmanto, lai sadalītu vairākus blokus atmiņas ar tādu pašu izmēru. Tā ir dinamiska atmiņas piešķiršanas funkcija, kas piešķir atmiņas vietu sarežģītām datu struktūrām, piemēram, masīviem un struktūrām, un atmiņā atdod tukšu rādītāju. Calloc apzīmē blakus piešķiršanu.

Malloc funkciju izmanto, lai piešķirtu vienu atmiņas vietas bloku, savukārt calloc funkciju C - vairāku atmiņas bloku piešķiršanai. Katrs bloks, ko calloc piešķir C programmēšanā, ir vienāda lieluma.

calloc () sintakse:

ptr = (cast_type *) calloc (n, size);
  • Iepriekš aprakstītais calloc in C piemērs tiek izmantots, lai piešķirtu n vienāda lieluma atmiņas blokus.
  • Pēc atmiņas vietas piešķiršanas visi baiti tiek inicializēti līdz nullei.
  • Atgriež rādītāju, kas pašlaik atrodas atvēlētās atmiņas vietas pirmajā baitā.

Ikreiz, kad rodas kļūda, piešķirot atmiņu, piemēram, atmiņas trūkums, tiek atgriezts nulles rādītājs, kā parādīts zemāk esošajā calloc piemērā.

Kā lietot Calloc

Zemāk esošā Calloc programma C aprēķina aritmētiskās secības summu.

#include 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;}

Calloc rezultāts C piemērā:

Building and calculating the sequence sum of the first 10 termsSum = 45