1. Αυτόματη (αυτόματη):
* Πεδίο εφαρμογής: Τοπικό στο μπλοκ στο οποίο δηλώνεται.
* Lifetime: Υπάρχει μόνο κατά την εκτέλεση του μπλοκ όπου δηλώνεται.
* σύνδεσμος: Δεν υπάρχει σύνδεση (δεν είναι προσβάσιμο εκτός της λειτουργίας).
* Παράδειγμα:
`` `c
int main () {
int x =10; // 'x' είναι μια αυτόματη μεταβλητή
// ...
}
`` `
2. Εξωτερική (εξωτερική):
* Πεδίο εφαρμογής: Παγκόσμιο πεδίο εφαρμογής.
* Lifetime: Υπάρχει σε όλη την εκτέλεση του συνόλου του προγράμματος.
* σύνδεσμος: Εξωτερική σύνδεση (προσβάσιμη από άλλα αρχεία).
* Παράδειγμα:
`` `c
// στο αρχείο1.c
εξωτερική int y; // δηλώνει «y» ως εξωτερικό
// στο αρχείο2.C
int y =20; // ορίζει το 'y'
`` `
3. Στατική:
* Πεδίο εφαρμογής: Τοπικό στο μπλοκ όπου δηλώνεται.
* Lifetime: Υπάρχει για την εκτέλεση ολόκληρου του προγράμματος.
* σύνδεσμος: Εσωτερική σύνδεση (προσβάσιμο μόνο εντός του τρέχοντος αρχείου).
* Παράδειγμα:
`` `c
void myfunc () {
Static int count =0; // 'count' διατηρεί την αξία του μεταξύ των κλήσεων λειτουργίας
μέτρηση ++;
printf ("count:%d \ n", count);
}
`` `
4. Εγγραφή:
* Πεδίο εφαρμογής: Τοπικό στο μπλοκ όπου δηλώνεται.
* Lifetime: Υπάρχει μόνο κατά την εκτέλεση του μπλοκ όπου δηλώνεται.
* σύνδεσμος: Δεν υπάρχει σύνδεση (δεν είναι προσβάσιμο εκτός της λειτουργίας).
* Παράδειγμα:
`` `c
void myfunc () {
Εγγραφείτε int i; // Αίτημα για τον μεταγλωττιστή να αποθηκεύσει το 'I' σε ένα μητρώο
για (i =0; i <10; i ++) {
// ...
}
}
`` `
Βασικά σημεία:
* Πεδίο εφαρμογής: Καθορίζει πού στο πρόγραμμα είναι μια μεταβλητή ή συνάρτηση να έχει πρόσβαση.
* Lifetime: Ελέγχει πόσο καιρό υπάρχει η μεταβλητή στη μνήμη.
* σύνδεσμος: Υπαγορεύει εάν μια μεταβλητή ή συνάρτηση μπορεί να προσεγγιστεί από άλλα αρχεία προέλευσης.
Γιατί οι τάξεις αποθήκευσης είναι σημαντικές;
Η κατανόηση των τάξεων αποθήκευσης είναι ζωτικής σημασίας για τον αποτελεσματικό προγραμματισμό C:
* Διαχείριση μνήμης: Σας βοηθούν να ελέγξετε τον τρόπο με τον οποίο η μνήμη κατανέμεται και διατίθεται.
* Οργάνωση κώδικα: Διευκολύνουν τη modularity και την επαναχρησιμοποίηση του κώδικα.
* Βελτιστοποίηση απόδοσης: Μπορείτε να χρησιμοποιήσετε το `Register 'για να βελτιώσετε ενδεχομένως την απόδοση αποθηκεύοντας μεταβλητές σε μητρώα.
Πρόσθετες πληροφορίες:
* Οι κλάσεις αποθήκευσης ορίζονται χρησιμοποιώντας λέξεις -κλειδιά στη δήλωση μεταβλητής ή λειτουργίας.
* Η λέξη -κλειδί `auto` παραλείπεται συχνά επειδή είναι η προεπιλεγμένη κλάση αποθήκευσης για τοπικές μεταβλητές.
* Η λέξη -κλειδί `Register 'είναι ένας υπαινιγμός για τον μεταγλωττιστή και μπορεί να μην είναι πάντα τιμημένη.
Επιτρέψτε μου να ξέρω αν θέλετε να εξερευνήσετε μια συγκεκριμένη κλάση αποθήκευσης με περισσότερες λεπτομέρειες ή να έχετε περισσότερες ερωτήσεις.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα