Calloc () Λειτουργία στη βιβλιοθήκη Γ με το ΠΑΡΑΔΕΙΓΜΑ προγράμματος

Πίνακας περιεχομένων:

Anonim

Τι είναι το calloc στο C;

Το calloc () σε C είναι μια συνάρτηση που χρησιμοποιείται για την εκχώρηση πολλαπλών μπλοκ μνήμης που έχουν το ίδιο μέγεθος. Είναι μια λειτουργία δυναμικής κατανομής μνήμης που εκχωρεί το χώρο μνήμης σε σύνθετες δομές δεδομένων, όπως πίνακες και δομές και επιστρέφει ένα κενό δείκτη στη μνήμη. Το Calloc σημαίνει συνεχόμενη κατανομή.

Η συνάρτηση Malloc χρησιμοποιείται για την εκχώρηση ενός μπλοκ χώρου μνήμης ενώ η συνάρτηση calloc στο C χρησιμοποιείται για την εκχώρηση πολλαπλών μπλοκ χώρου μνήμης. Κάθε μπλοκ που εκχωρείται από το calloc στον προγραμματισμό C έχει το ίδιο μέγεθος.

calloc () Σύνταξη:

ptr = (cast_type *) calloc (n, size);
  • Το παραπάνω παράδειγμα δήλωσης calloc στο C χρησιμοποιείται για την εκχώρηση μπλοκ μνήμης του ίδιου μεγέθους.
  • Αφού εκχωρηθεί χώρος μνήμης, τότε όλα τα byte αρχικοποιούνται στο μηδέν.
  • Επιστρέφεται ο δείκτης που βρίσκεται στο πρώτο byte του εκχωρημένου χώρου μνήμης.

Όποτε υπάρχει σφάλμα κατά την εκχώρηση χώρου μνήμης, όπως η έλλειψη μνήμης, τότε ένας μηδενικός δείκτης επιστρέφεται όπως φαίνεται στο παρακάτω παράδειγμα calloc.

Πώς να χρησιμοποιήσετε το calloc

Το παρακάτω πρόγραμμα calloc στο C υπολογίζει το άθροισμα μιας αριθμητικής ακολουθίας.

#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 στο παράδειγμα C:

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