Hallo und herzlich willkommen.
In diesem Vortrag möchte ich sprechen über das Konzept eines Arrays.
Ein Array ist ein Konzept, das es ermöglicht Sie müssen im Wesentlichen viele verschiedene Werte
in einer einzigen Variablen speichern.
Arrays sind in den meisten Fällen üblich Programmiersprachen.
Sie helfen, Ihre zu vereinfachen und zu machen Programm viel effizienter.
Also werden wir darüber reden Erstellen und Verwenden von Arrays in c.
Also ein Array.
Es ist sehr häufig in einem Programm zu speichern viele Datenwerte eines bestimmten Typs.
In einem Sportprogramm zum Beispiel Vielleicht möchten Sie
die Ergebnisse aller Spiele oder speichern die Punktzahlen für jeden Spieler.
Bis zu diesem Punkt konnten wir leicht Implementieren Sie das, aber wir müssten für jede Partitur
eine andere Variable schreiben.
Stellen Sie sich vor, es gibt eine Menge Spiele.
Ich meine, im Baseball gibt es 162 Spiele.
Wenn wir ein Programm schreiben würden, das war ein Baseball-Programm,
das einige Statistiken oder etwas speichern wollte, wir müsste 162 Variablen für
jedes Spiel erstellen, um die Punktzahl zu halten.
Das ist ein Schmerz im Hintern.
Es wäre sehr langweilig.
und es ist wirklich einfach zu viel.
Hier ist also das Array kommt ins Spiel, wird ein
Array dieses Problem lösen.
Das musst du nicht Erstellen Sie 162 Variablen.
Sie können eine einzelne Variable erstellen und auf eine bestimmte Weise darauf zugreifen.
Mit Arrays können Sie also Werte gruppieren zusammen unter einem einzigen Namen.
Sie müssen sich nicht trennen Variablen für jedes Datenelement.
Also wird es dir erlauben zu werden ein viel effizienterer Programmierer.
Ein Array ist eine feste Anzahl von Daten Gegenstände, die alle vom gleichen Typ sind.
Also nur ein Problem mit einem Array ist, dass Sie die Größe des
Arrays nicht ändern können.
Sobald Sie das Array erstellt haben, ist es wird immer so groß sein.
Und die andere Einschränkung ist, dass Sie können Sie nicht mehrere
Arten von Daten speichern.
Wenn Sie ein Array deklarieren und es ist Es werden immer noch Zahlen und
Ints gespeichert, es müssen Ints gespeichert werden.
Also ein paar Einschränkungen.
Wie deklariert man ein Array?
Denken Sie daran, wenn Sie deklarieren eine Variable was machst du?
Du sagst das das Variable existiert im Programm.
Und wenn du es erklärst Mit diesen primitiven Datentypen
weisen Sie Speicherform zu.
Wenn Sie ein Array deklarieren, Die Datenelemente im Array werden
als Elemente bezeichnet.
Das ist also ein anderes Konzept wenn Sie an ein Array denken.
Wenn ich den Begriff Element sage Das heißt, ich beziehe mich
auf ein Element im Array.
Denn denken Sie daran, ein Array ist wird viele, viele verschiedene Werte
haben, aber mit dem gleichen Namen.
Und wie wir die Elemente in erwähnt haben Das Array muss vom selben
Typ sein. Sie können keine Datentypen mischen und abgleichen.
Sie können kein Array haben von 5 Zoll und 5 Longs.
Es gibt keine einzige Array mehrerer Datentypen.
Deklarieren einer Verwendung eines Arrays in Ein Programm
ähnelt einer normalen Variablendeklaration.
Alles was Sie tun müssen, ist anzugeben den Namen und verwenden Sie dann Klammern.
Das ist also der einzige Unterschied, diese Idee von
eckigen Klammern nach dem Namen.
Hier ist ein Beispiel dafür sieht aus wie
eine normale Variablendeklaration, aber was Sie sehen Hier haben Sie diese Klammern.
Das ist das Einzige, was das ist nicht normal und es gibt
eine Nummer in ihnen.
Die Nummer in den Klammern geben die Größe an.
Hier sagen wir nur, dass wir es sind Ich werde
ein Array mit dem Namen number of type long erstellen wird 10 Elemente enthalten.
Es ist also ziemlich einfach.
Dies ist eine Nummer eine Erklärung, weil Das Semikolon steht am Ende, es
ist wie eine Variablendeklaration Aber Sie haben diese
Klammern und eine Zahl, und das ist die Größe von das Array oder die Array-Dimension.
Sobald Sie ein Array deklariert haben, sind Sie dann werde ich anfangen wollen, es zu benutzen.
Du wirst anfangen wollen Zugriff auf
die darin enthaltenen Daten oder Schreiben von Daten.
Um das zu tun, haben Sie um zu verstehen, wie das
Array im Speicher gespeichert ist und wie es ist wird tatsächlich zugegriffen.
Also ein Array mit jedem der Elemente In dem Array wird auf jedes der Datenelemente
mit demselben Namen zugegriffen.
Sie werden also immer noch darauf zugreifen es mit dem Variablennamen.
Wenn Sie jedoch eine bestimmte möchten Wert in diesem Strahl,
müssen Sie jetzt etwas verwenden, das als bezeichnet wird Index oder Index, beide Begriffe
werden synonym verwendet.
Dieser Index- oder Indexwert ist wird eine Zahl sein und es wird
auch in den Klammern stehen um auf ein Element im Array oder direkt auf
diese Stelle im Array zuzugreifen, schreiben Sie Ein Wert, der dem Arraynamen folgt.
Die Indexwerte sind also sequentiell Ganzzahlen, die bei 0 beginnen.
Also, wenn wir über ein Array sprechen und Es
sind Elemente und wir sprechen über die Indizes in einem Array oder die Indizes. Alle diese Subs können bei 0 beginnen.
Das heißt im Grunde dass ihre Strahlen 0 basieren.
Also Indexwerte für Elemente in einem Array der Größe 10 wäre von 0 bis 9.
0 wird das darstellen erstes Array-Element, und 9 bezieht sich auf das letzte
Element in einem Array der Größe 10.
Das muss man also verstehen Konzept von 0-basierten Arrays.
Intuitiv könnte man denken, oh ich Ich möchte auf den
ersten Punkt im Array zugreifen. Okay, ich gebe einen Index an Eins, nein, weil sie bei 0 beginnen.
Es ist also sehr, sehr üblich Versuchen Sie versehentlich, auf ein Array zuzugreifen, und schalten
Sie um 1 aus, weil Sie denken, dass sie um eins
beginnen und nicht um 0.
Darauf wird Bezug genommen als aus um 1 Fehler.
Sie können eine einfache Ganzzahl verwenden um explizit auf das Element zu
verweisen, auf das Sie zugreifen möchten.
Zum Beispiel, wenn Sie zugreifen möchten Als 4. Wert in einem
Array würden Sie den Namen des Arrays sagen und dann In den Klammern würde man sagen 3.
Also geht der Array-Name Sub-3 um auf den 4. Wert
zuzugreifen, da der Arrayname auf 0 basiert.
Sie müssen also nur bereitstellen Eine Nummer für das Element, auf
das Sie zugreifen möchten.
Und wieder denken Sie daran, dass es 0 Basis ist.
Um auf das 4. Element zuzugreifen, ist es 3.
Wenn Sie auf die zugreifen möchten 8. Element, Sie machen Index 7.
Sie können auch einen Index für ein angeben Array-Element mit Ausdruck.
Sie müssen also nur noch eine Nummer verwenden.
Sie können einen quadratischen Ausdruck verwenden Klammern nach dem Namen.
Der Ausdruck muss sich jedoch ergeben in einem ganzzahligen Wert, der einem
der möglichen Indexwerte entspricht.
Also, wenn Sie ein Array von Größe haben 10 und Sie
verwenden einen Ausdruck, den dieser Ausdruck auswerten muss entweder 0, beliebige Zahlen von 0 bis 9.
Es ist auch sehr häufig, wenn Sie sind Speichern von Elementen in einem Array, um mithilfe einer Schleife
auf sie zuzugreifen, und los geht's um auch ein Beispiel dafür zu werfen.
So haben wir zum Beispiel hier ein für Schleife und wir initialisieren unsere Regelungsvariable auf 0 I
und wir sind Verlassen, sobald ich weniger als 10 bin.
Und was wir hier machen ist, wir zeigen
nur die Zahlen im Array.
Und so sagen wir printf Zahl ist Prozent d und
dann Zahlen unter I, I ist eine Variable.
Sie können eine Variable in a verwenden Variablenausdruck, solange diese Variable
eine Zahl von darstellt 0 bis 9, und in diesem Fall ist dies der Fall.
Es ist sehr häufig zu verwenden Schleifen zum Durchlaufen eines Arrays,
um entweder auf die Elemente zuzugreifen oder schreiben Sie Daten in diese Elemente.
Um es zusammenzufassen, hier ist eine schöne kleine Illustration, die ich gefunden habe.
So ist ein Array aufgebaut.
Wenn ich ein Array namens habe Zahlen, Sie
werden den Namen des Arrays folgen lassen durch Klammern, die einzelne Elemente
im Array identifizieren.
So kann ich ein Array einfach deklarieren Geben Sie den Typ und den Namen
an und geben Sie dann die Größe in Klammern an.
Und dann, wenn ich zugreifen möchte Ich verwende nur den
Array-Namen, gefolgt vom Indexwert.
Und so für ein Array, das
eine hat Größe 10, Sie werden Indizes haben, die von 0 bis 9 gültig sind.
Was passiert also, wenn Sie versuchen, darauf zuzugreifen? Ein Element im Array
mit einem ungültigen Index, z. B. versuchen Der Zugriff auf ein Array der Größe 10 unter Verwendung von 11 als
Index oder 10 ist ein Index.
Du wirst ein Array haben out of out of bounds Fehler.
Also, wenn Sie einen Ausdruck verwenden oder eine Variable oder eine
Konstante für einen Indexwert, der außerhalb von liegt Reichweite des Arrays und außerhalb des
Bereichs Array bedeutet was?
Nun, es bedeutet, dass es entweder negativ ist Zahl oder es ist eine Zahl,
die größer als die Größe ist, wirklich größer als die Größe minus eins, weil es 0 Basis gibt.
Also, wenn Sie ein Array von Größe haben 10, Größe minus 1, wenn es größer als 9 ist,
werden Sie haben ein Array außerhalb der Grenzen Fehler.
Und das Problem mit einem Array Bei Grenzfehlern
kann Ihr Programm abstürzen oder sogar Schlimmer noch, es kann dazu führen, dass Ihr
Programm so aussieht, als würde es sich normal verhalten. aber dann verhält es sich nicht normal.
Es produziert also nicht konsistente Ergebnisse.
Manchmal hast du Müll Daten, Daten, die im
Array nichts bedeuten.
Auch hier ist es sehr unvorhersehbar, wann Sie haben eine Reihe von Grenzen Fehler.
Und das Problem ist, dass das Array Out-of-Bound-Fehler können vom Compiler nicht
überprüft werden, da die Der Compiler wird nicht wissen, ob
Sie etwas zuweisen größer oder wenn Sie auf etwas zugreifen, das größer
als die Größe ist.
Es wird immer noch kompiliert obwohl Sie diesen Bereich außerhalb
der Grenzen Fehler haben.
Im Wesentlichen die Reihe der Grenzen Fehler ist ein Laufzeitfehler.
Das wirst du nicht herausfinden Fehler, bis Sie das Programm ausführen.
Und wieder kann es Ihre verursachen Programm sehr unvorhersehbar sein.
Du willst also sehr, sehr sein Sie wissen, wie Sie auf das Array zugreifen und welche
Indexwerte Sie haben Verwenden und wie Sie Daten mit dem Indexwert
in das Array schreiben.
Achten Sie sehr genau auf die Array-Indizes und auch die Grenzen.
Wenn Sie Daten in eine schreiben möchten Array, es ist sehr, sehr einfach.
Du wirst es im Grunde tun Verwenden Sie einfach den Index.
So kann ein Wert im Array gespeichert werden Element einfach durch Angabe des Array-Elements
auf der linken Seite Seite des Gleichheitszeichens und verwenden Sie dann die Klammern,
um die anzugeben Element, in das Sie schreiben möchten.
In diesem Beispiel haben wir also eine Array mit dem Namen "Grade", wir wissen nicht, wie groß es
ist, es muss sein größer als 100, sonst hätten wir hier einen
Array-Fehler außerhalb der Grenzen.
Aber in diesem Beispiel sagen wir Note unter 100 ist gleich 95.
Der Wert 95 wird in gespeichert die Elementnummer 100
des Notenarrays, sehr einfach.
Sie geben nur den Index an und dann, welchen Wert Sie auch
immer unterschreiben möchten.
Sie können auch Variablen verwenden um einem Array Werte zuzuweisen.
95 könnte also in einer Variablen gespeichert werden, genau wie Sie andere Variablen zuweisen.
Nun gehen wir durch eine Beispiel für die Verwendung eines Arrays.
Hier ist ein Beispiel für die Verwendung eines Array, das die
Summe in 10 Zahlen lesen und mir dann geben wird der Durchschnitt dieser 10 Zahlen.
Während wir sie lesen, sind wir Wenn wir die Summe berechnen,
zeigen wir den Durchschnitt an.
Also an dieser Stelle möchte ich nehmen Dieses Beispiel und ich
möchten es in Codeblöcke einfügen und versuchen, es auszuführen durch und zeigen Ihnen, wie es funktioniert.
Wir sind in unserer normalen Ansicht, wir sind in einem einfaches Projekt und wir zeigen Ihnen, wie
ein Array in Codeblöcken funktioniert.
Sie werden feststellen, dass wir es sind in unserer Hauptfunktion.
Dies ist der Eintrag Zeigen Sie auf das Programm.
Und in Zeile 12 sind wir Deklarieren eines Arrays.
Wir werden eine deklarieren Array vom Typ int der Größe 10.
Die Größe ist in den Klammern angegeben. Wir beenden es mit einem Semikolon.
Dies ist ein Array, das werde 10 Werte speichern.
Wenn wir dieses Array nicht
hätten gespeichert, was wir tun müssten, ist, dass wir Klasse 1 sagen müssen int, Klasse 2 int, Klasse 3.
Sie sehen, wie problematisch das ist ist und wie langweilig es ist.
Es ist sehr schön, dass wir können Erstellen Sie einfach eine einzelne Variable, in
der 10 Elemente gespeichert sind Sie sind zusammen gruppiert.
Wenn Sie Elemente in einem Array speichern, werden Sie Ich möchte nicht, dass die Werte der
Daten unterschiedlich sind, alles verschiedene Dinge.
Wie in diesem Beispiel speichern wir Noten, also sind sie alle Noten.
Sie möchten kein Array benennen etwas und dann sagen, ich
werde meine Noten speichern, ich werde speichere meine ...
meine... meine... was auch immer, mein Alter da drin und so.
Stellen Sie sicher, dass Sie den gleichen Typ speichern von Daten, wenn Sie ein Array sind.
Die nächste Variable in der Zeile 13 ist eine Zählvariable.
Es ist gleich 10.
Es wird die Nummer sein von Werten, die gelesen werden sollen, weil
wir das Array durchlaufen.
Die Summe ist lang, wir werden summieren Die Zahlen, während wir die Werte und
dann den Durchschnitt durchgehen, gehen ein Float zu sein, weil wir den Durchschnitt
der Zahlen erhalten wollen.
Das erste, was wir machen werden In Zeile 17 werden
wir dem Benutzer mitteilen, dass wir dies möchten Geben Sie 10 Noten ein und dann werden
wir die Werte einlesen.
In Zeile 20 merkt man also, wie es mir geht
Einrücken und ich verwende eine gute Benennung, Einrücken und Verwenden einer guten Blockierung von Code für Codeeinrückungsblöcke.
Hier in Zeile 20 erkläre ich meine Regelungsvariable.
Ich verwende einen älteren Compiler. C. Compiler 89, daher kann ich es nicht deklarieren
und dieselbe Zeile initialisieren.
Normalerweise würden Sie dies einfach tun.
Aber wenn ich es tue, weil ich renne C89-Compiler erhält einen Fehler.
Also deklariere ich meine Variable online 20, und dann benutze ich eine for-Schleife.
Wir kennen uns mit for-Schleifen aus Aus unseren vorherigen Vorlesungen können
Sie Code wiederholen.
Hier sagen wir nur, dass wir gehen werden Haben Sie eine gegengesteuerte for-Schleife,
beginnen wir bei 0 und wir sind werde den ganzen Weg bis 10 gehen.
Also werden wir gehen durch 10 Iterationen, aber Sie bemerken,
dass der Index 0 ist.
Das ist wichtig, weil Wir werden mit dieser
Variablen I auf ein Array zugreifen.
Und dann wirst du es am Ende bemerken Von der
for-Schleife ändern wir die Regelungsvariable durch Inkrementieren.
Also werden wir ausdrucken Der Wert von I plus 1, wenn
wir das Array durchgehen, um es Ihnen zu zeigen wo du für die Zahlen bist.
Also wird es im Grunde wie sagen Geben Sie Klasse 1 Klasse 2 Klasse 3 Klasse 4 ein.
Dann wird es dich darum bitten Geben Sie die Note mit scanf ein.
Wir werden es in unserem Array speichern.
Sie werden das bemerken, wenn Sie Speichern Sie es im
Array, es ist wie ein normaler variabler Zugriff.
Sie verwenden nur Noten und dann geben Sie den Index an.
Hier verwenden wir I als unseren Index.
Das wird also gleich 0 sein die erste Iteration, 1 die zweite
Iteration, 2 die dritte Iteration.
Und es ist gut, dass wir mit 0 angefangen haben weil Arrays auf
0 basieren und wir dann nur die Adresse verwenden des Betreibers das kaufmännische Und.
Während wir durchgehen, sind wir werde die Noten zusammenfassen.
Also werden wir Summe sagen entspricht Summe plus Note Sub I.
Jede Klasse wird gehen Berechnen Sie im Grunde eine Summe.
Und dann, wenn wir aus der Schleife herauskommen Nachdem wir 10 Mal
gelaufen sind, werden wir unseren Durchschnitt gleich dem setzen Summe geteilt durch die Zählung und
wirf sie in einen Schwimmer, wir werfen hier.
Dies ändert den Datentyp.
Denken Sie daran, Summe geteilt durch Anzahl, Summe ist es lang und zählt als int und wir wollen das in
einen float umwandeln.
Und ganz am Ende sind wir es werde den Durchschnitt ausdrucken.
Also lasst uns weitermachen und dies und das ausführen Stellen Sie sicher, dass wir keine Fehler erhalten. Wir haben 0
Fehler und 0 Warnungen.
Also jetzt lass es uns laufen.
Und so wird es gehen genau das, was ich erwähnt habe.
Es wird heißen, geben Sie die 10 Klassen ein und dann setzt es dort eine 1 in eine kleine Markierung, damit wir
wissen, an welcher Zahl wir sind.
Es wird wie 95 setzen 32 55, es wird hineingehen und einfach irgendwelche Zahlen
hier eingeben.
Sie machen nicht unbedingt Sinn, das ist okay und meine letzte Nummer 23.
Der Durchschnitt dieser 10 Noten wird 51 sein. 20.
Aber es ist wirklich schön, weil wir Sie müssen keine 10 Variablen erstellen.
Wir greifen auf das Array mit dem zu Index, und wir können dem
Array mithilfe des Index Werte zuweisen.
Dies wird tatsächlich zugewiesen wenn wir den scanf machen.
Wir weisen Daten zu das zu diesem Index.
Wenn wir das jetzt ändern würden und sagen wir haben bei 1 angefangen und
anstatt zu zählen welche ist 10, setzen wir es tatsächlich gleich.
Also lasst uns eigentlich ändere das nicht auf 1.
Nehmen wir an, wir fangen an bei 0, aber jetzt gehen wir
den ganzen Weg zu Index 10.
Denken Sie daran, dass Index 10 außerhalb der Grenzen liegt weil die Größe
des Arrays 10 ist, aber der Indexwert 0 ist basierend, so dass der maximale Index 9 ist.
Und wieder werden wir in der Lage sein um dies
zu kompilieren, weil Compiler keine Fehler außerhalb der Grenzen erkennen, Das Problem ist, wenn wir es ausführen.
Wenn wir nun das Programm ausführen, Wir werden ein großes Problem haben, das wir
versuchen, in die 11. Klasse einzutreten.
Also werden wir alle gut sein.
Wenn wir 10 Noten eingeben, Das Problem wird auftreten, wenn
wir 11 werden.
Jetzt haben wir 11 und wir sind Ich werde versuchen, Daten zu speichern.
Es ist nichts Schlimmes passiert, aber unser Durchschnitt wird nicht korrekt sein.
Und es ist sehr unvorhersehbares Verhalten wenn Sie einen Fehler außerhalb der Grenzen haben.
Sie möchten also sicherstellen, dass Sie haben die Anzahl der Augenstunden und möchten
sicherstellen, dass wann Wenn Sie auf die Informationen zugreifen, gehen Sie auch nicht über
die Grenzen hinaus.
Und das sind die Grundlagen des Arrays, Deklarieren des
Arrays, Angeben der Größe nur Datentyp und dann Größe und Klammern, Zugriff auf das Array oder Speichern
von Daten in der Array, Zuweisen von Werten unter Verwendung
des Index I in den Indizes.
Und wir könnten sogar das ausdrucken Indizes auch mit Index.
Arrays werden ziemlich viel verwendet werden.
Wir werden viele Beispiele mit haben Arrays, weil es die Dinge vereinfacht.
Denken Sie daran, dass Arrays eine feste Größe haben.
Sie können das nicht ändern Größe der Noten.
Es wird immer so sein 10, während Sie das Programm ausführen.
Wenn Sie also oben Daten zuweisen das wird es nicht erweitern.
Und denken Sie auch daran, dass Noten müssen vom gleichen Datentyp sein.
Ich kann keine Zeichenfolgen oder Wörter speichern In der Klasse kann ich nur Ints speichern.
Ich kann keine Floats speichern dort nur Ints speichern.
Vielen Dank.