Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Οι διαφορές στην Malloc και calloc

Malloc και calloc είναι δύο λειτουργίες διαχείρισης μνήμης στο "C" γλώσσα προγραμματισμού . Προγράμματα δεν πρέπει να κρατήσετε περιοχές της μνήμης , επειδή αυτό είναι συνήθως η ευθύνη του λειτουργικού συστήματος . Οι δύο αυτές λειτουργίες δεν χρησιμοποιούνται συχνά και χρειάζονται μόνο για τα προγράμματα που δεν μπορούν να βασίζονται σε τυπικές διαδικασίες διαχείρισης της μνήμης . " C " Γλώσσα Προγραμματισμού
Η

« C » έχει από καιρό μια ευνοημένη γλώσσα προγραμματισμού για τη δικτύωση και τη διαχείριση αρχείων . Είναι μια δύσκολη γλώσσα για να μάθουν , γιατί λέξεις-κλειδιά είναι πολύ πιο κωδικοποιημένη και λιγότερο σαν πραγματική γλώσσα από άλλες γλώσσες , όπως η COBOL , Pascal ή Java . " C " είναι στενά συνδεδεμένη με το λειτουργικό σύστημα Unix . Στην πραγματικότητα , Unix είναι γραμμένο στο "Γ. " Παρά το γεγονός ότι το Unix έχει τη δική του γλώσσα προγραμματισμού της , « C » είναι η κυρίαρχη γλώσσα προγραμματισμού για τις υπηρεσίες που βασίζονται σε Unix . Όπως κατανομή μνήμης είναι στενά συνδεδεμένη με τα λειτουργικά συστήματα , malloc και calloc είναι πιο πιθανό να βρίσκονται σε χαμηλού επιπέδου υπηρεσίες προγραμματιστεί σε " C " από ό, τι στο πρόγραμμα-πελάτη που αντιμετωπίζει εφαρμογές υψηλού επιπέδου .
Εικόνων Διαχείριση Μνήμης

ένα πρόγραμμα "C" είναι μια λίστα με αναγνώσιμη από τον άνθρωπο οδηγίες που δεν μπορεί να εκτελεστεί σε έναν υπολογιστή . Το πρόγραμμα πρέπει να καταρτιστούν , η οποία δημιουργεί ένα αντίγραφο του προγράμματος στο μηχάνημα - αναγνώσιμο κώδικα . Τα λειτουργικά συστήματα συνήθως διαθέσουν θέσεις μνήμης για τις μεταβλητές και τις οδηγίες στο πρόγραμμα κατά τη στιγμή της πρόγραμμα μεταγλωττιστεί . Μεταβλητές είναι ένας χώρος προσωρινής αποθήκευσης για τα δεδομένα κατά τη διάρκεια της εκτέλεσης του προγράμματος . Malloc και calloc παρέχει μια μέθοδο για να καθυστερήσει την εκχώρηση διευθύνσεων μνήμης έως ότου το πρόγραμμα τρέχει . Αυτό ονομάζεται δυναμική διαχείριση μνήμης .

Η Malloc και calloc
Η

Τόσο malloc και calloc διαθέσει χώρο στη μνήμη σωρού του προγράμματος . Κάθε συνάρτηση επιστρέφει ένα δείκτη προς το πρώτο κατανεμηθεί διεύθυνση μνήμης και όλα τα άλλα μπλοκ της μνήμης θα πρέπει να είναι συνεχόμενοι. Εάν το σύστημα δεν διαθέτει τη μνήμη , και οι δύο λειτουργίες επιστρέφουν null . Και οι δύο λειτουργίες απόθεμα μνήμης είτε ακέραιο ή δεδομένα χαρακτήρων . Σε κάθε περίπτωση, το μέγεθος μπλοκ μνήμης πρέπει να είναι ένα πολλαπλάσιο του μεγέθους που απαιτείται για αυτόν τον τύπο δεδομένων. Ως εκ τούτου , είναι κοινή πρακτική να χρησιμοποιούν το sizeof () συνάρτηση στη λίστα παραμέτρων τόσο για την malloc και calloc για το επιχείρημα μέγεθος μπλοκ για να εξασφαλιστεί ότι το απαιτούμενο μέγεθος μνήμης είναι ένα πολλαπλάσιο του προορίζεται τύπο δεδομένων .
Η
Σύγκριση
Η

Malloc παίρνει ένα επιχείρημα και διαθέτει ένα τετράγωνο από το απαιτούμενο μέγεθος . Calloc παίρνει δύο επιχειρήματα , τα οποία είναι ο αριθμός των μπλοκ που απαιτούνται και το απαιτούμενο μέγεθος για κάθε μπλοκ . Για το λόγο αυτό, malloc κρίνεται χρήσιμο για μια μόνο μεταβλητή , και calloc είναι καλύτερα προσαρμοσμένη για την κατανομή της μνήμης για μια σειρά - το οποίο περιέχει διάφορα στοιχεία. Malloc δεν προετοιμάσει το χώρο μνήμης ζητηθεί, ενώ calloc μηδέν γεμίζει .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα