Βίντεο: Δήμητρας C++ Programming-13.Χρήση μεταβλητών σε κλάσεις 2024
Σε μια C ++, μια τοπική μεταβλητή δεν ξεκινά τη ζωή με μια έγκυρη τιμή, ούτε καν την τιμή 0. Είπε άλλος τρόπος, μια τοπική μεταβλητή περιέχει σκουπίδια, το. Οι τοπικά δηλωμένες συστοιχίες είναι οι ίδιες - κάθε στοιχείο περιέχει σκουπίδια έως ότου εκχωρήσετε κάτι σε αυτό.
Θα πρέπει να αρχικοποιήσετε τις τοπικές μεταβλητές όταν τις δηλώσετε. Αυτός ο κανόνας είναι ακόμη πιο αληθινός για τους πίνακες. Είναι πολύ εύκολο να αποκτήσετε πρόσβαση σε στοιχεία που δεν έχουν αρχικοποιηθεί, θεωρώντας ότι είναι έγκυρες τιμές.
"Τοπική μεταβλητή" αναφέρεται στις κανονικές μεταβλητές που δηλώνονται μέσα σε μια συνάρτηση. Οι C ++ καθαριστές ονομάζουν αυτές τις αυτόματες μεταβλητές για να τις διαφοροποιήσουν από τις στατικές μεταβλητές.
Ευτυχώς, ένας μικρός πίνακας μπορεί να αρχικοποιηθεί τη στιγμή που δηλώνεται με μια λίστα αρχικοποιητών. Το ακόλουθο απόσπασμα κώδικα δείχνει πώς γίνεται αυτό:
float floatArray [5] = {0. 0, 1. 0, 2. 0, 3. 0, 4. 0}.
Αυτό αρχίζει το floatArray [0] στο 0, το floatArray [1] στο 1. 0, το floatArray [2] στο 2. 0, και ούτω καθεξής.
C ++ τοποθετεί τη λίστα προετοιμασίας με 0s αν ο αριθμός των στοιχείων της λίστας είναι μικρότερος από το μέγεθος του πίνακα. Στην πραγματικότητα, ένας άδειος κατάλογος αρχικοποιητών μπορεί να χρησιμοποιηθεί για την αρχικοποίηση ενός πίνακα σε 0:
int nArray [128] = {}; // αρχικοποίηση πίνακα σε όλα τα 0
Ο αριθμός των σταθερών αρχικοποίησης μπορεί να καθορίσει το μέγεθος του πίνακα. Για παράδειγμα, θα μπορούσατε να διαπιστώσετε ότι το floatArray έχει πέντε στοιχεία μόνο μετρώντας τις τιμές μέσα στα τιράντες. Το C ++ μπορεί επίσης να μετράει (εδώ είναι τουλάχιστον ένα πράγμα που μπορεί να κάνει η C ++ για τον εαυτό της).
επιπλέουν floatArray [] = {0. 0, 1. 0, 2. 0, 3. 0, 4. 0}.