>> [Παίζει μουσική]
DOUG LLOYD: Εντάξει.
Συνεργασία με μονά μεταβλητών είναι αρκετά διασκεδαστικό.
Τι γίνεται όμως αν θέλετε να εργαστείτε με πολλές μεταβλητές,
αλλά δεν θέλουμε να έχουμε ένα σωρό διαφορετικά ονόματα που πετούν γύρω μας κώδικα;
Σε αυτή την περίπτωση, είναι συστοιχίες πρόκειται να έρθει πραγματικά εύχρηστο.
Οι πίνακες είναι μια πραγματικά θεμελιώδη δεδομένα δομή για κάθε γλώσσα προγραμματισμού
ότι θα χρησιμοποιήσετε.
Και είναι πραγματικά, πραγματικά χρήσιμο, Ειδικότερα, όπως θα δούμε, στην CS 50.
>> Χρησιμοποιούμε συστοιχίες για να κρατήσει τιμές του ίδιου τύπου δεδομένων
σε συνεχόμενες θέσεις μνήμης.
Δηλαδή, είναι ένα τρόπο που μπορούμε ομάδα
μια δέσμη των ακεραίων μαζί μνήμης ή ένα μάτσο χαρακτήρες
ή επιπλέει στη μνήμη πραγματικά κοντά μεταξύ τους και την εργασία
με αυτούς, χωρίς να χρειάζεται να δοθεί σε κάθε ένα δικό του μοναδικό όνομα του, η οποία μπορεί να
επίπονο μετά από λίγο.
>> Τώρα, ένας τρόπος για να αναλογίσετε συστοιχίες είναι να σκεφτούμε το τοπικό ταχυδρομείο σας
γραφείο για ένα δευτερόλεπτο.
Έτσι βήμα μακριά από τον προγραμματισμό και απλά κλείστε τα μάτια σας
και να απεικονίσει στο μυαλό σας τοπικό ταχυδρομείο σας.
Συνήθως, στις περισσότερες μετα γραφεία, υπάρχει μια μεγάλη τράπεζα
μια ταχυδρομικές θυρίδες στον τοίχο.
>> Ένας πίνακας είναι ένα τεράστιο μπλοκ της συνεχούς μνήμης,
με τον ίδιο τρόπο που ένα e-mail τράπεζα στο ταχυδρομείο σας
είναι ένας μεγάλος χώρος για το τοίχωμα των ταχυδρομείων.
Οι συστοιχίες έχουν χωριστεί σε μικρές, πανομοιότυπα σε μέγεθος μπλοκ του χώρου,
καθένα από τα οποία λέγεται ένα στοιχείο, σε τον ίδιο τρόπο που το τοίχωμα της θέσης
το γραφείο έχει χωριστεί σε μικρά, πανομοιότυπα σε μέγεθος μπλοκ του χώρου,
το οποίο ονομάζουμε ταχυδρομική θυρίδα.
Κάθε στοιχείο της συστοιχίας μπορεί αποθηκεύουν ένα ορισμένο ποσό των δεδομένων,
ακριβώς όπως κάθε ταχυδρομικής θυρίδας είναι σε θέση να κατέχει ένα ορισμένο ποσό του ταχυδρομείου.
>> Τι μπορεί να αποθηκευτεί σε κάθε στοιχείο του η συστοιχία είναι μεταβλητές του ίδιου δεδομένων
τύπου, όπως int ή char, απλά όπως στην ταχυδρομική θυρίδα σας,
μπορούν να χωρέσουν μόνο τα πράγματα παρόμοιου τύπου,
όπως είναι τα γράμματα ή μικρές συσκευασίες.
Τέλος, μπορούμε να έχουμε πρόσβαση σε κάθε στοιχείο του η συστοιχία άμεσα από τον αριθμό ευρετηρίου,
ακριβώς όπως μπορούμε να έχουμε πρόσβαση ταχυδρομείο μας κουτί γνωρίζοντας τον αριθμό της θυρίδας του.
Ας ελπίσουμε, ότι η αναλογία σας βοηθά να πάρει το κεφάλι σας
γύρω από την ιδέα των πινάκων με analogizing σε κάτι άλλο
ότι είστε πιθανώς ήδη εξοικειωμένοι με.
>> Στην C, είναι τα στοιχεία μιας συστοιχίας ευρετήριο ξεκινώντας από το 0 και όχι από το 1.
Και αυτό είναι πολύ σημαντικό.
Και στην πραγματικότητα, αυτός είναι ο λόγος που, στην CS 50, και γιατί οι επιστήμονες υπολογιστών συχνά
θα μετρήσει από 0, είναι εξαιτίας του πίνακα Γ
ευρετηρίαση, η οποία ξεκινά πάντα σε 0.
Έτσι, αν μια συστοιχία αποτελείται από n στοιχεία, το πρώτο στοιχείο του εν λόγω συστοιχίας
βρίσκεται στο ευρετήριο 0, και το τελευταίο στοιχείο της συστοιχίας
βρίσκεται στο ευρετήριο n μείον 1.
Και πάλι, αν υπάρχει n στοιχεία σε μας πίνακα, ο τελευταίος δείκτης είναι n μείον 1.
>> Έτσι, εάν σειρά μας έχει 50 στοιχεία, τα πρώτο στοιχείο βρίσκεται στο ευρετήριο 0,
και το τελευταίο στοιχείο βρίσκεται στο ευρετήριο 49.
Δυστυχώς, ή ευτυχώς, ανάλογα με την προοπτική σας,
C είναι πολύ επιεικής εδώ.
Δεν θα σας αποτρέψει από βγείτε έξω από τα όρια του πίνακα σας.
Θα μπορούσατε να αποκτήσετε πρόσβαση στο μείον 3 στοιχείο του πίνακα σας
ή το 59ο στοιχείο του πίνακα σας, αν σειρά σας έχει μόνο 50 στοιχεία.
Δεν θα σταματήσει το πρόγραμμά σας από κατάρτιση, αλλά κατά το χρόνο εκτέλεσης,
που ενδέχεται να αντιμετωπίσετε ένα επίφοβη σφάλμα κατάτμησης
αν αρχίσουν να έχουν πρόσβαση μνήμης ότι είναι έξω από τα όρια του τι
σας ζήτησε το πρόγραμμά σας για να σας δώσει.
Έτσι, δεν πρέπει να είστε προσεκτικοί.
>> Τι κάνει μια σειρά Δήλωση μοιάζει;
Πώς μπορούμε να κωδικοποιήσει μια σειρά στην ύπαρξη όπως κωδικοποιούμε οποιαδήποτε άλλη μεταβλητή;
Υπάρχουν τρία μέρη σε μια σειρά declaration-- έναν τύπο, ένα όνομα,
και ένα μέγεθος.
Αυτό είναι πολύ παρόμοιο με ένα δήλωση μεταβλητών, η οποία
είναι απλά ένας τύπος και ένα όνομα, το στοιχείο είναι το μέγεθος
Η ειδική περίπτωση για μια σειρά, επειδή θα έχουμε μια δέσμη από αυτά
Την ίδια στιγμή.
>> Έτσι, ο τύπος είναι τι είδους μεταβλητή που Θέλετε κάθε στοιχείο του πίνακα να είναι.
Μήπως θέλετε σε μια σειρά ακεραίων;
Στη συνέχεια, πληκτρολογήστε τα στοιχεία σας θα πρέπει να είναι int.
Θέλετε να είναι ένα σειρά από διπλά ή επιπλέει;
Τύπος δεδομένων θα πρέπει να είναι διπλά ή επιπλέουν.
Το όνομα είναι αυτό που θέλετε να καλέσετε σειρά σας.
Τι θέλετε να ονομάσετε αυτό το γιγαντιαίο Τράπεζα της ακέραιους αριθμούς ή πλωτήρες ή χαρακτήρες
ή διπλασιάζεται, ή ό, τι έχετε;
Τι θέλετε να το ονομάσετε;
Αρκετά αυτονόητα.
>> Τέλος, το μέγεθος, το οποίο πηγαίνει μέσα σε αγκύλες,
είναι πόσα στοιχεία θα κάνατε σαν τον δικό σας πίνακα για να περιέχει.
Πόσοι ακέραιοι θέλετε;
Πόσες άρματα θέλετε;
>> Έτσι, για παράδειγμα, int βαθμοί φοιτητών 40.
Αυτό δηλώνει μια σειρά που ονομάζεται Student βαθμούς, το οποίο αποτελείται από 40 ακεραίων.
Αρκετά αυτονόητα, ελπίζω.
Εδώ είναι ένα άλλο παράδειγμα.
Διπλό τιμές μενού 8.
Αυτό δημιουργεί μια σειρά που ονομάζεται Τιμές μενού, το οποίο αποτελείται
χώρο στη μνήμη για οκτώ δίκλινα.
>> Αν νομίζετε ότι κάθε στοιχείου από μια σειρά από στοιχεία τύπου τύπου,
Έτσι, για παράδειγμα, ένα μόνο στοιχείο της μια σειρά τύπου int, με τον ίδιο τρόπο που
Θα σκεφτώ άλλη μεταβλητή τύπου int,
όλες οι γνωστές λειτουργίες που θα συζητήθηκε προηγουμένως πτητικής λειτουργίας
βίντεο θα κάνει αίσθηση.
Έτσι, εδώ, θα μπορούσαμε να δηλώσετε έναν πίνακα της Booleans ονομάζεται Truthtable,
το οποίο αποτελείται από 10 δωμάτια για Booleans.
>> Και τότε, όπως ακριβώς θα μπορούσαμε απλά να αναθέσει μια τιμή σε οποιαδήποτε άλλη μεταβλητή του τύπου
Boolean, θα μπορούσαμε να πούμε κάτι όπως Truthtable αγκύλη
2, το οποίο είναι το πώς θα υποδείξει, το οποίο στοιχείο του πίνακα αλήθειας;
Το τρίτο στοιχείο της πίνακας αλήθειας, γιατί θυμηθείτε,
μετράμε από το 0.
Έτσι, αυτό είναι το πώς θα υποδείξει η τρίτο στοιχείο του πίνακα αλήθειας.
Truthtable 2 ισούται με ψευδείς, ακριβώς όπως θα μπορούσαμε να declare--
ή θα μπορούσαμε να εκχωρήσετε, μάλλον, οποιαδήποτε Μεταβλητή Boolean τύπου να είναι ψευδής.
>> Μπορούμε επίσης να το χρησιμοποιήσετε σε συνθήκες.
εάν (truthtable 7 == αληθής), δηλαδή,
εάν το όγδοο στοιχείο του Truthtable είναι αλήθεια,
ίσως θέλουμε να εκτυπώσετε ένα μήνυμα στο χρήστη, printf ("ΑΛΗΘΙΝΟ! n") ;.
Αυτό μας αναγκάζει να πούμε Truthtable 10 ισούται αλήθεια, σωστά;
Λοιπόν, μπορώ, αλλά είναι αρκετά επικίνδυνο, γιατί θυμηθείτε,
έχουμε μια σειρά από 10 Booleans.
Έτσι, ο υψηλότερος δείκτης ότι η compiler μας έχει δώσει είναι 9.
>> Αυτό το πρόγραμμα θα καταρτίσει, αλλά αν κάτι άλλο στη μνήμη
υπάρχει όπου θα Αναμένουμε Truthtable 10 για να πάει,
θα μπορούσαν να υποστούν σφάλμα κατάτμησης. Εμείς θα μπορούσε να ξεφύγει με αυτό, αλλά σε γενικές γραμμές,
αρκετά επικίνδυνο.
Έτσι, αυτό που κάνω εδώ είναι νόμιμη C, αλλά δεν είναι απαραίτητα η καλύτερη κίνηση.
Τώρα, όταν δηλώνετε και προετοιμάσει μια σειρά ταυτόχρονα,
υπάρχει πράγματι μια όμορφη ειδική σύνταξη που εσείς
μπορεί να χρησιμοποιήσει για να γεμίσει τον πίνακα με τιμές εκκίνησης.
Μπορεί να πάρει δυσκίνητη να δηλώσετε έναν πίνακα μεγέθους 100,
και, στη συνέχεια, πρέπει να πω, στοιχείο 0 ισούται με αυτό? στοιχείο 1 ισούται με αυτό?
στοιχείο 2 ισούται με αυτό.
Ποιο είναι το νόημα, έτσι δεν είναι;
>> Αν είναι μια μικρή συστοιχία, θα θα μπορούσε να κάνει κάτι τέτοιο.
Bool truthtable 3 ισούται με ανοιχτή σγουρά στήριγμα και στη συνέχεια κόμμα
διαχωρίζουν τον κατάλογο των στοιχείων ότι θέλετε να βάλετε στη συστοιχία.
Στη συνέχεια, κλείστε τα σγουρά στήριγμα ερωτηματικό.
Αυτό δημιουργεί μια σειρά από Μέγεθος τρεις ονομάζεται Truthtable,
με στοιχεία ψευδή, αλήθεια, και η αλήθεια.
Και στην πραγματικότητα, η συγκεκριμενοποίηση σύνταξη που έχω εδώ είναι
ακριβώς το ίδιο με το να το ατομική σύνταξη στοιχείο παρακάτω.
Αυτές οι δύο τρόποι κωδικοποίησης θα παράγει την ίδια ακριβώς σειρά.
>> Ομοίως, θα μπορούσαμε να επαναλάβει πάνω από όλα τα στοιχεία
ενός πίνακα με τη χρήση ενός βρόχου, η οποία, Πράγματι, είναι πολύ συνιστάται
στο σπίτι της άσκησης.
Πώς μπορείτε να δημιουργήσετε μια σειρά από 100 ακέραιοι, όπου
Κάθε στοιχείο του πίνακα είναι ο δείκτης της;
Έτσι, για παράδειγμα, έχουμε μια συστοιχία 100 ακέραιοι, και το πρώτο στοιχείο,
θέλουμε να δώσουμε 0.
Στο δεύτερο στοιχείο, θέλουμε να δώσουμε 1.
Στο τρίτο στοιχείο, θέλουμε να βάλει 2? και ούτω καθεξής και ούτω καθεξής.
Αυτό είναι ένα πραγματικά καλό στο σπίτι άσκηση για να το κάνουμε αυτό.
>> Εδώ, δεν φαίνεται όπως πάρα πολλά έχουν αλλάξει.
Να σημειωθεί όμως ότι στο μεταξύ η αγκύλες, αυτή τη φορά,
Έχω πράγματι παραληφθεί στον αριθμό.
Εάν χρησιμοποιείτε αυτό το πολύ ειδικές συγκεκριμενοποίηση
σύνταξη, για να δημιουργήσετε ένα σειρά, που πραγματικά δεν το κάνετε
Πρέπει να δείξει το μέγεθος της συστοιχίας των προτέρων.
Ο compiler είναι αρκετά έξυπνος να ξέρετε ότι μπορείτε πραγματικά
θέλετε μια σειρά μεγέθους 3, γιατί βάζετε τα τρία στοιχεία
στα δεξιά του ίσον.
Αν είχε βάλει τέσσερα, θα πρέπει Σας δίνεται ένα πίνακα αληθείας του μεγέθους τέσσερα?
και ούτω καθεξής και ούτω καθεξής.
>> Arrays δεν περιορίζονται σε ένα μόνο διάσταση, η οποία είναι αρκετά δροσερό.
Μπορείτε πραγματικά να έχετε όσες πλευρά προσδιοριστικά όπως εσείς επιθυμείτε.
Έτσι, για παράδειγμα, εάν θέλετε να δημιουργήσετε ένα συμβούλιο για το παιχνίδι θωρηκτό, το οποίο,
Αν έχετε παίξει ποτέ, είναι ένα παιχνίδι που είναι έπαιξε με μανταλάκια στο 10 από 10 πλέγμα,
μπορείτε να δημιουργήσετε έναν πίνακα σαν αυτό.
Θα μπορούσαμε να πούμε Bool βραχίονα πλατεία θωρηκτό 10
κλειστή πλατεία αγκύλη βραχίονα 10 κλειστά αγκύλη.
>> Και στη συνέχεια, μπορείτε να επιλέξετε να ερμηνεύουν αυτό στο μυαλό σας ως το 10
με 10 πλέγμα των κυττάρων.
Τώρα, στην πραγματικότητα, στην μνήμη, κάνει πραγματικά μόνο
εξακολουθούν να αποτελούν στοιχείο 100, μονοδιάστατου πίνακα.
Και αυτό, στην πραγματικότητα, ισχύει και για αν έχουν τρεις διαστάσεις ή τέσσερις ή πέντε.
Είναι πραγματικά ακριβώς έχει πολλαπλασιάσει όλα τα indices--
ή το σύνολο του μεγέθους specifiers-- μαζί,
και μπορείτε απλά να πάρετε μια μονοδιάστατη σειρά αυτού του μεγέθους.
>> Αλλά από την άποψη της οργάνωσης και οπτικοποίηση και την ανθρώπινη αντίληψη,
μπορεί να είναι πολύ πιο εύκολο να συνεργαστεί με ένα πλέγμα
αν εργάζεστε σε ένα παιχνίδι όπως Tic-tac-toe ή θωρηκτό,
ή κάτι τέτοιο.
Είναι μια μεγάλη αφαίρεση, αντί
να σκεφτούμε μια Tic-Tac-Toe σκάφους, σύμφωνα με μια γραμμή από εννέα
πλατείες ή ένα θωρηκτό ως γραμμή 100 τετράγωνα.
Ένα 10 από 10 πλέγμα ή τρεις από τρεις δίκτυο είναι πιθανώς
πολύ πιο εύκολο να αντιληφθεί.
>> Τώρα, κάτι πραγματικά σημαντικό για τους πίνακες.
Μπορούμε να αντιμετωπίζουν κάθε άτομο στοιχείο της συστοιχίας ως μεταβλητή.
Είδαμε ότι νωρίτερα όταν ήμασταν ανάθεση
η τιμή True σε ορισμένες Booleans ή τους δοκιμές σε υποθετικοί.
Αλλά δεν μπορούμε να θεραπεύσουμε ολόκληρο ντύνει τους εαυτούς τους ως μεταβλητές.
Δεν μπορούμε, για παράδειγμα, να ορίσετε μια συστοιχία σε μια άλλη συστοιχία χρησιμοποιώντας την εκχώρηση
χειριστή.
Δεν είναι νομικά Γ
>> Αν θέλουμε, για ό, τι example-- θα κάνουμε σε αυτό το παράδειγμα
θα ήταν να αντιγράψετε μια συστοιχία σε μια άλλη.
Αν θέλουμε να το κάνουμε αυτό, μπορούμε πραγματικά πρέπει να χρησιμοποιήσετε ένα βρόχο για να αντιγράψετε
κάθε επιμέρους στοιχείο, ένα κάθε φορά.
Ξέρω ότι είναι λίγο χρονοβόρα.
>> Έτσι, για παράδειγμα, αν είχαμε αυτά τα δυο γραμμές κώδικα, θα ήταν αυτό το έργο;
Λοιπόν, όχι, δεν θα ήταν, έτσι δεν είναι;
Επειδή προσπαθούμε να αναθέσει σε τρόφιμα μπαρ.
Αυτό δεν πρόκειται να λειτουργήσει, γιατί είναι ένας πίνακας,
και που μόλις περιγράψαμε ότι αυτό δεν είναι νομικά Γ
>> Αντ 'αυτού, εάν θέλουμε να αντιγράψετε τα περιεχόμενα των τροφίμων
στο μπαρ, το οποίο είναι ό, τι προσπαθούμε να κάνουμε εδώ,
θα χρειαστεί μια σύνταξη σαν αυτό.
Έχουμε ένα για το βρόχο που πηγαίνει από J είναι ίσο με 0 έως 5,
και θα αυξήσετε J σε κάθε επανάληψη του ο βρόχος και να εκχωρήσετε στοιχεία έτσι.
Αυτό θα οδηγήσει σε μπαρ επίσης είναι ένα, δύο, τρία, τέσσερα, πέντε,
αλλά πρέπει να το κάνουμε αυτό πολύ αργός στοιχείο κατά τρόπο στοιχείο,
αντί από μόλις αντιγραφή ολόκληρης της συστοιχίας.
Σε άλλα προγράμματα γλώσσες, πιο σύγχρονα,
μπορείτε, στην πραγματικότητα, κάνουν ακριβώς ότι ισούται με απλή σύνταξη.
Αλλά C, δυστυχώς, είμαστε δεν επιτρέπεται να το κάνουμε αυτό.
>> Τώρα, υπάρχει ένα άλλο πράγμα που θέλω να αναφέρω
για τους πίνακες που μπορεί να είναι λίγο λίγο δύσκολο η πρώτη φορά που θα
να συνεργαστούμε μαζί τους.
Συζητήσαμε σε ένα βίντεο σχετικά με την εμβέλεια των μεταβλητών,
ότι οι περισσότερες μεταβλητές στη C, όταν σας καλούν τους λειτουργίες, έχουν περάσει από την αξία.
Θυμάστε τι σημαίνει να περάσει κάτι με αξία;
Αυτό σημαίνει ότι φτιάχνουμε ένα αντίγραφο του μεταβλητή που είναι να περάσει μέσα.
Η λειτουργία καλούμενος, η συνάρτηση ότι λαμβάνει το μεταβλητό,
δεν παίρνει την ίδια τη μεταβλητή.
Παίρνει τη δική της τοπική αντίγραφό της να εργαστεί με.
>> Πίνακες, φυσικά, να κάνει δεν ακολουθούν αυτόν τον κανόνα.
Αντίθετα, αυτό που ονομάζουμε περνά με αναφορά.
Το καλούμενο πράγματι έχει παραλάβει τη σειρά.
Δεν λαμβάνει του τα δικά της τοπικά αντίγραφό του.
Και αν το σκεφτείτε αυτό, αυτό είναι λογικό.
Εάν συστοιχίες είναι πραγματικά μεγάλο, παίρνει τόσο πολύ χρόνο και προσπάθεια
για να δημιουργήσετε ένα αντίγραφο ενός πίνακα του 100 ή 1.000 ή 10.000 στοιχεία,
ότι δεν αξίζει τον κόπο για μια λειτουργούν για να λάβετε ένα αντίγραφό του,
κάνετε κάποια εργασία με αυτό, και στη συνέχεια απλά να γίνει με το αντίγραφο?
δεν χρειάζεται να έχει ότι κρέμονται γύρω πια.
>> Επειδή συστοιχίες είναι μερικά ογκώδες και δυσκίνητο,
Τους περνούν μόνο με αναφορά.
Εμείς απλά εμπιστεύονται την εν λόγω λειτουργία για να μην σπάσει τίποτα.
Γι 'αυτό έχει πάρει πραγματικά την σειρά.
Δεν αποκτήσετε το δικό τοπικό αντίγραφο της από αυτό.
>> Λοιπόν, τι σημαίνει αυτό, τότε, όταν ο καλούμενος
χειρίζεται τα στοιχεία του πίνακα;
Τι συμβαινει?
Προς το παρόν, θα αποσιωπήσει γιατί ακριβώς πάνω από αυτό
συμβαίνει, γιατί συστοιχίες περνούν με αναφορά
και ό, τι άλλο έχει περάσει από την αξία.
Αλλά σας υπόσχομαι, θα το κάνουμε επιστρέψετε και να σας δώσει την απάντηση
σε αυτό σε μεταγενέστερη βίντεο.
>> Εδώ είναι ένα ακόμη άσκηση για εσάς πριν ολοκληρωθεί έως τα πράγματα σε συστοιχίες.
Η δέσμη των κώδικα εδώ, ότι είναι δεν είναι ιδιαίτερα καλό στυλ,
απλά θα κάνω αυτή τη προειδοποίηση.
Δεν υπάρχει κανένα σχόλιο εδώ, η οποία είναι πολύ κακή φόρμα.
Αλλά αυτό είναι μόνο επειδή ήθελα να είναι είναι σε θέση να χωρέσει τα πάντα στην οθόνη.
>> Στην κορυφή, μπορείτε να δείτε ότι έχω δύο δηλώσεις για το σύνολο της λειτουργίας συστοιχίας
και ρυθμίστε το INT.
Σετ σειρά παίρνει προφανώς μια σειρά τέσσερις ακέραιοι ως είσοδο του.
Και ρυθμίστε το INT παίρνει προφανώς ένα μοναδικό ακέραιο ως είσοδο του.
Αλλά και οι δύο από αυτούς δεν έχουν έξοδο.
Η έξοδος, η επιστροφή Τύπος, κάθε ένα είναι άκυρη.
Στο Κύριο, έχουμε ένα δύο γραμμές κώδικα.
Δηλώνουμε μια μεταβλητή ακέραιο που ονομάζεται A και ορίστε την τιμή 10.
Εμείς δηλώνουμε μια σειρά από τέσσερις ακέραιοι που ονομάζεται Β και αναθέτουμε τα στοιχεία 0, 1,
2, και 3, αντίστοιχα.
Στη συνέχεια, έχουμε μια κλήση για να ορίσετε int και ένα κάλεσμα για τη σειρά.
Οι ορισμοί του συνόλου πίνακα και σετ int είναι κάτω από, στο κάτω μέρος.
>> Και έτσι, πάλι, σας ζητώ την ερώτηση.
Τι γίνεται εκτυπώνεται εδώ στο τέλος του Main;
Υπάρχει ένα διάσελο εκτύπωση. Είμαι εκτύπωση δύο ακέραιοι.
Είμαι εκτύπωση των περιεχομένων του Α και το περιεχόμενο της αγκύλη Β 0.
Παύση το βίντεο εδώ και να πάρει ένα λεπτό.
Μπορείς να καταλάβω τι είναι αυτό λειτουργία θα εκτυπωθεί στο τέλος;
Ας ελπίσουμε ότι, αν θυμάστε το διάκριση μεταξύ πέρασμα από την αξία
και περνώντας με αναφορά, αυτό το πρόβλημα δεν ήταν πάρα πολύ δύσκολο για σας.
Και η απάντηση που θα έχουν βρει είναι αυτό.
Αν δεν είστε σίγουρος για το γιατί αυτή είναι η περίπτωση, να λάβει μια δεύτερη,
πάει πίσω, αναθεωρώ τι ήταν ακριβώς συζητώντας για τη διάβαση συστοιχίες
με αναφορά, έναντι περνώντας άλλες μεταβλητές με βάση την αξία,
και ελπίζω, ότι θα κάνουν λίγο περισσότερο νόημα.
>> Είμαι ο Νταγκ Lloyd, και αυτό είναι CS50.