c arrays with examples
ποιο είναι το καλύτερο adblock για το chrome
Τι είναι οι συστοιχίες στο C ++; Γιατί είναι χρήσιμα;
Σε αυτό Πλήρης σειρά εκπαιδευτικών C ++ , θα ρίξουμε μια ματιά στο Arrays στο C ++ σε αυτό το σεμινάριο.
Το Array στο C ++ μπορεί απλά να οριστεί ως μια συλλογή δεδομένων.
Εάν μία από τις εφαρμογές που σχεδιάζω απαιτεί 100 μεταβλητές του ακέραιου τύπου δεδομένων. Στη συνέχεια, χρησιμοποιώντας τη δήλωση μεταβλητής, θα πρέπει να δηλώσω 100 διαφορετικές ακέραιες μεταβλητές. Αυτό, με τη σειρά του, θα είναι πραγματικά δυσκίνητο.
Αντί για αυτό, τι γίνεται αν δηλώσω μια μόνο μεταβλητή που διατηρεί γειτονικές 100 θέσεις μνήμης; Εδώ έρχονται οι πίνακες στην εικόνα.
Τι θα μάθετε:
Πίνακες σε C ++
Ένας πίνακας μπορεί να οριστεί ως μια συλλογή μεταβλητών του ίδιου τύπου δεδομένων και έχει παρακείμενες θέσεις μνήμης.
Επομένως, αν ορίσω έναν πίνακα 100 ακέραιων αριθμών, η αναπαράσταση της μνήμης θα είναι κάπως όπως φαίνεται παρακάτω:
Όπως φαίνεται παραπάνω, το 0… 99 είναι τοποθεσίες μνήμης για αυτόν τον πίνακα και είναι συνεχόμενες. Τα κενά πλαίσια είναι τα πραγματικά στοιχεία του πίνακα. Μπορείτε να έχετε πρόσβαση στα μεμονωμένα στοιχεία ενός πίνακα χρησιμοποιώντας το ευρετήριο. Στο παραπάνω διάγραμμα, ο πρώτος δείκτης του πίνακα είναι 0 ενώ ο τελευταίος δείκτης είναι 99 (δεδομένου ότι αυτός είναι ένας πίνακας 100 στοιχείων) .0 1 2 3 4 5 ……. … .. 99.
Σημειώστε ότι ο αρχικός δείκτης ενός πίνακα είναι πάντα 0. Έτσι, για έναν πίνακα στοιχείων n, ο αρχικός δείκτης του πίνακα θα είναι 0 και ο τελευταίος δείκτης θα είναι n-1.
Δηλώστε μια σειρά
Η δήλωση συστοιχίας στο C ++ μοιάζει γενικά όπως φαίνεται παρακάτω:
datatype arrayName ( arraySize );
Η παραπάνω δήλωση αφορά έναν μονοδιάστατο πίνακα. Εδώ, ο τύπος δεδομένων είναι οποιοσδήποτε τύπος δεδομένων αποδεκτός στο C ++. «ArrayName» είναι το όνομα του πίνακα που δημιουργούμε ενώ το arraySize που περικλείεται πάντα σε αγκύλες (()) είναι ο αριθμός των στοιχείων που θα διατηρήσει ο πίνακας. Το arraySize πρέπει να είναι μια σταθερή έκφραση πάντα.
Για παράδειγμα, εάν πρέπει να δηλώσω έναν πίνακα που ονομάζεται myarray με 10 στοιχεία τύπου Integer, τότε η δήλωση θα μοιάζει :
int myarray (10);
Ομοίως, η δήλωση για έναν πίνακα «μισθού» τύπου διπλού με 20 στοιχεία θα μοιάζει όπως φαίνεται παρακάτω:
double salary ( 20 );
Αρχικοποίηση μιας συστοιχίας
Μόλις δηλωθεί ένας πίνακας, μπορεί να αρχικοποιηθεί με τις κατάλληλες τιμές. Ο αριθμός των τιμών που αποδίδονται στον πίνακα δεν πρέπει ποτέ να υπερβαίνει το μέγεθος του πίνακα που καθορίζεται στη δήλωση.
Ας δηλώσουμε λοιπόν έναν πίνακα μεγέθους 5 και πληκτρολογήστε ακέραιο και ονομάστε το ως myarray.
int myarray(5);
Μπορούμε να αντιστοιχίσουμε τις τιμές στα στοιχεία πίνακα ένα προς ένα ως εξής:
myarray(0) = 1; myarray(1) = 2; myarray(2) = 3; myarray(3) = 4; myarray(4) = 5;
Αντί να αρχικοποιούμε κάθε μεμονωμένο στοιχείο, μπορούμε επίσης να προετοιμάσουμε έναν ολόκληρο πίνακα κατά τη διάρκεια της ίδιας της δήλωσης όπως φαίνεται παρακάτω:
int myarray(5) = {1, 2, 3, 4, 5};
Όπως φαίνεται παραπάνω, η αρχικοποίηση στοιχείων πίνακα στις τιμές γίνεται με σγουρά τιράντες ({}).
Ως αποτέλεσμα της παραπάνω αρχικοποίησης, ο πίνακας θα φαίνεται όπως φαίνεται παρακάτω:
Μπορούμε επίσης να αρχίσουμε τις συστοιχίες χωρίς να καθορίσουμε οποιοδήποτε μέγεθος και απλώς καθορίζοντας τα στοιχεία.
Αυτό γίνεται όπως φαίνεται παρακάτω:
int myarray() = {1, 2, 3, 4, 5};
Σε αυτήν την περίπτωση, όταν το μέγεθος ενός πίνακα δεν καθορίζεται, ο μεταγλωττιστής εκχωρεί το μέγεθος ίσο με έναν αριθμό στοιχείων με τα οποία αρχικοποιείται ο πίνακας. Έτσι, στην παραπάνω περίπτωση, το μέγεθος του myarray θα είναι 5.
Πρόσβαση στα στοιχεία της σειράς
Μπορείτε να έχετε πρόσβαση σε στοιχεία συστοιχίας χρησιμοποιώντας τον πίνακα ευρετηρίου. Το ευρετήριο συστοιχιών ξεκινά πάντα από το 0 και συνεχίζει μέχρι το array
Η σύνταξη για την πρόσβαση σε στοιχεία πίνακα έχει ως εξής:
arrayName(index)
Ας πάρουμε ως παράδειγμα το myarray που αναφέρθηκε παραπάνω.
πώς να ανοίξετε ένα αρχείο κάδου στα Windows 10
Εάν πρέπει να έχουμε πρόσβαση στο 4ουστοιχείο του myarray, τότε μπορούμε να το κάνουμε ως εξής:
myarray(3);
Εάν πρέπει να αντιστοιχίσουμε το 2αρστοιχείο του myarray σε ακέραια μεταβλητή, τότε το κάνουμε ως εξής:
int sec_ele = myarray(1);
Σημειώστε ότι στο C ++, εάν έχουμε πρόσβαση στα στοιχεία του πίνακα πέρα από το μέγεθος ενός πίνακα, τότε το πρόγραμμα θα μεταγλωττιστεί καλά, αλλά τα αποτελέσματα μπορεί να είναι απροσδόκητα.
Εάν πρέπει να έχουμε πρόσβαση σε όλα τα στοιχεία του πίνακα ταυτόχρονα, τότε μπορούμε να χρησιμοποιήσουμε επαναληπτικές κατασκευές C ++ που θα μας επιτρέψουν να διασχίσουμε όλα τα στοιχεία ενός πίνακα και να τα αποκτήσουμε πρόσβαση χρησιμοποιώντας μια μεταβλητή ευρετηρίου.
Από όλες τις κατασκευές, ο βρόχος είναι ιδανικός για πρόσβαση σε συστοιχίες καθώς ο βρόχος «για» εξ ορισμού χρησιμοποιεί μια μεταβλητή ευρετηρίου για να διασχίσει μια ακολουθία και επίσης αυτόματες αυξήσεις μετά από κάθε επανάληψη.
Για παράδειγμα,πάρτε το ίδιο myarray που ορίστηκε προηγουμένως. Χρησιμοποιώντας για βρόχο ο κωδικός για την πρόσβαση στα στοιχεία myarray είναι όπως φαίνεται παρακάτω:
for(int i = 0;i<5;i++) { cout<Στον παραπάνω κώδικα, το myarray διασχίζεται χρησιμοποιώντας τη μεταβλητή ευρετηρίου Ι από 0 έως 5 και τα στοιχεία εκτυπώνονται μετά από κάθε επανάληψη.
Η έξοδος του παραπάνω κώδικα είναι:
1
δύο
3
4
5
Εκτός από την πρόσβαση στα στοιχεία του πίνακα όπως φαίνεται παραπάνω, μπορούμε επίσης να αποκτήσουμε πρόσβαση στα στοιχεία του πίνακα και να τα χρησιμοποιήσουμε με τους άλλους χειριστές με τον τρόπο με τον οποίο χρησιμοποιούμε μεταβλητές για την εκτέλεση όλων των διαφορετικών λειτουργιών.
Εξετάστε το ακόλουθο πρόγραμμα που εκτυπώνει το άθροισμα όλων των στοιχείων σε έναν πίνακα:
#include include using namespace std; int main() { int myarray(5) = {10, 20,30,40,50}; int sum = 0; for(int i = 0;i<5;i++) { sum += myarray(i); } cout<<'Sum of elements in myarray:
'<Στον παραπάνω κώδικα, δηλώνουμε και αρχικοποιούμε έναν πίνακα που ονομάζεται myarray. Αρχικοποιούμε επίσης το μεταβλητό άθροισμα στο 0, Στη συνέχεια διασχίζουμε το myarray χρησιμοποιώντας ένα για βρόχο και προσθέτουμε κάθε στοιχείο πίνακα στο άθροισμα.
Η τελική έξοδος που δίνεται από το πρόγραμμα είναι το άθροισμα όλων των στοιχείων στο myarray και θα έχει ως εξής:
Άθροισμα στοιχείων στο myarray:
150
Όπως φαίνεται από το πρόγραμμα, μπορούμε να αποκτήσουμε πρόσβαση στα στοιχεία του πίνακα είτε μεμονωμένα είτε ταυτόχρονα χρησιμοποιώντας έναν επαναληπτικό βρόχο και επίσης να εκτελέσουμε μια ποικιλία λειτουργιών σε στοιχεία πίνακα με τον ίδιο τρόπο που εκτελούμε λειτουργίες σε μεταβλητές.
συμπέρασμα
Με αυτό, φτάνουμε στο τέλος αυτού του άρθρου σχετικά με συστοιχίες που περιγράφουν τα βασικά ενός πίνακα - δήλωση, αρχικοποίηση και πρόσβαση σε στοιχεία πίνακα.
Στα επόμενα λίγα άρθρα μας, θα συζητήσουμε περισσότερα για πολυδιάστατους πίνακες, δείκτες πίνακα, πίνακες σε λειτουργία κ.λπ., μαζί με τις άλλες έννοιες.
Ελπίζουμε ότι πρέπει να έχετε αποκτήσει περισσότερες γνώσεις σχετικά με τις συστοιχίες στο C ++ από αυτό το ενημερωτικό σεμινάριο.
=> Διαβάστε το The Easy C ++ Training Series.
Συνιστώμενη ανάγνωση
- Πίνακες σε STL
- Συγχώνευση ταξινόμησης σε C ++ με παραδείγματα
- Πολυδιάστατες συστοιχίες σε C ++
- Χρήση συστοιχιών με λειτουργίες στο C ++
- Πίνακες VBScript: Χρήση συναρτήσεων DIM, REDIM, Split και Ubound Array
- Εκμάθηση Python DateTime με παραδείγματα
- Αποκοπή εντολής στο Unix με παραδείγματα
- Ταξινόμηση σωρού σε C ++ με παραδείγματα