Υλικό υπολογιστών

Γνώση Υπολογιστών >> Υλικό υπολογιστών >  >> Δίσκοι & Αποθήκευση Υπολογιστών

Τι είναι οι κλάσεις αποθήκευσης C;

Στον προγραμματισμό C, οι κλάσεις αποθήκευσης καθορίζουν το πεδίο , Lifetime , και σύνδεσμος μεταβλητής ή συνάρτηση. Ελέγχουν τον τρόπο με τον οποίο ο μεταγλωττιστής διαχειρίζεται τη μνήμη που διατίθεται σε αυτά τα στοιχεία. Ας σπάσουμε κάθε τάξη αποθήκευσης:

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 'είναι ένας υπαινιγμός για τον μεταγλωττιστή και μπορεί να μην είναι πάντα τιμημένη.

Επιτρέψτε μου να ξέρω αν θέλετε να εξερευνήσετε μια συγκεκριμένη κλάση αποθήκευσης με περισσότερες λεπτομέρειες ή να έχετε περισσότερες ερωτήσεις.

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

Πώς μπορείτε να διαπιστώσετε το μέγεθος ενός Flash Memory Stick

Είναι εύκολο να βρείτε το μέγεθος του μνήμη flash stick σας . Αν υποθέσουμε ότι δεν είναι πλέον τυπωμένο στο εξωτερικό μέρος του stick, ή θα πρέπει να μάθετε πόση αχρησιμοποίητη μνήμη έχει απομείνει , είναι μια απλή διαδικασία για να έχετε το PC Windows στον υπολογιστή σας να σας πω ακριβώς πόση μνήμη είναι σε flash stick σας . Οδηγίες Η 1 Τοποθετήστε το memory stick στον υπολογιστή . Εάν είναι ένα προϊόν όπως ένα Sony Memory Stick για την κάμερά σας , να γλιστρήσει στη σωστή μεγέθους μονάδα π

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