Hallo und herzlich willkommen.
In dieser Vorlesung werden wir Sprechen Sie über Arrays mit variabler Länge.
Was genau bedeutet das?
Nun, das ist eine neue Funktion das wurde hinzugefügt, denke ich für C99.
Aber bis zu diesem Punkt alles wir kennen sich mit Arrays
aus, sind nicht nur mehrdimensional, sondern auch Dies ist eine coole Funktion, in der
Sie mehrere Datenelemente speichern können In einer einzelnen Variablen bedeutet dies im Wesentlichen, dass
sie eine feste Größe haben.
Sobald Sie diese Größe angegeben haben, werden Sie müssen eine fest codierte Konstante verwenden.
Wenn Sie die Variable deklarieren das gibt die
Größe an und es bleibt gleich.
Arrays mit variabler Länge ist ein bisschen irreführend.
Das heißt nicht, dass du dich ändern wirst die Größe des Arrays dynamisch.
Es wird immer noch dasselbe sein Größe, aber jetzt können Sie Variablen verwenden.
Also der Begriff Variable in Variable Längenarray bedeutet nicht, dass Sie die Länge von ändern können
das Array, nachdem Sie es erstellt haben.
Was es bedeutet ist, dass Sie jetzt können Legen Sie eine Variable fest, die für dieses Array verwendet werden soll.
Ein VLA wird also immer noch behalten die gleiche Größe nach der Erstellung.
Das variable Array ermöglicht es Ihnen Geben Sie beim Erstellen eines Arrays die Größe
und das Array mit einer Variablen an.
Sie können also einfach Variablen verwenden, das ist alles was es wirklich bedeutet.
Es scheint so, als ob es könnte nicht so nützlich sein.
Aber eigentlich der einzige Grund es wurde wirklich hinzugefügt, weil
es bei wirklich existierenden half Bibliotheken und andere Sprachen.
Also hat C99 dieses neue eingeführt Feature und es wird verwendet und deshalb wollte
ich es erwähnen.
Ich werde es nur erwähnen Kurz gesagt, ich
werde keinen detaillierten Anwendungsfall dafür bereitstellen.
Ich wollte dir nur sagen, dass es das gibt weil
man manchmal diesen Begriff Arrays mit variabler Länge ziemlich oft sieht wenn Sie über c lesen.
Und ich möchte nicht, dass du es siehst es und sagen,
was zum Teufel das bedeutet, wenn wir Arrays studiert haben und wir haben das Thema nicht erwähnt.
Also wurde es hauptsächlich eingeführt um c zu einer besseren Sprache für das
numerische Rechnen zu machen.
VLA ist, welche Arrays variabler Länge Erleichtern Sie
das Konvertieren vorhandener Fortran-Bibliotheken erheblich numerische Berechnungsroutinen zu c.
Deshalb wurde es hinzugefügt.
Also, wenn Sie ein Fortran sind Programmierer, möchten
Sie dies möglicherweise bei der Migration verwenden oder wenn Sie Code konvertieren.
Wenn Sie Ihren Fortran portieren Code, der
versucht, in c zu konvertieren, möchten Sie möglicherweise diesen verwenden.
Sie können a nicht initialisieren VLA in seiner Erklärung.
Es gibt also keine Initialisierung wenn Sie über Arrays
mit variabler Länge sprechen.
Hier sind einige gültige Größen, die Sie kann beim Deklarieren eines Arrays angewendet werden.
Wir können also zwei deklarieren Variablen und ein m.
Und dann sehen Sie unten Wenn wir float 8 und float a9 sagen, können wir
diese Variablen verwenden, wenn Wir deklarieren sie in der Arraygröße.
Und das war vorher nicht erlaubt C99, aber jetzt ist es
und das ist VLA, Array mit variabler Länge.
Angabe einer Variablen an innerhalb eines Arrays verwendet werden.
Die Größe wird zur Laufzeit nicht geändert.
Es gibt hier andere gültige Beispiele Deklarationen von Arrays, auf die Sie
möglicherweise achten möchten.
Perfekt, wenn Sie eine einstellen Array auf eine bestimmte Größe, wie 5.
Sie können Ausdrücke verwenden, wenn Sie weisen die Größe eines Arrays zu.
Also im nächsten Beispiel 5 mal 2 plus 1, das ist in Ordnung.
Das andere, was hier zu beachten ist, ist Wir verwenden den Operator sizeof, und das ist
auch vollkommen in Ordnung, weil das wird ein int zurückgeben.
Sizeof int wird entweder zurückkehren 4 oder 8, je nachdem, auf welchem Computer Sie arbeiten
und dann sind Sie es 1 hinzufügen, vollkommen in Ordnung.
Eine negative Zahl setzen Innerhalb der Deklaration eines Arrays
können Sie das nicht tun.
Es gibt keine negative 4.
Die Größe des Arrays muss größer als 0 sein.
Also wird auch Null nicht funktionieren.
2. 5 einen Schwimmer setzen, kann das nicht Auch macht es keinen Sinn.
Wie können Sie erstellen ein Array der Größe 2. 5.
Wenn Sie jedoch 2 setzen. 5 innen die eckigen Klammern und Sie wandeln
es in ein int, das ist okay.
Wieder wollte nicht viel ausgeben Zeit auf Arrays variabler Länge möchte
ich nur das Konzept vorstellen.
Wenn Sie den Begriff hören, Sie wissen was es ist.
Zuweisen von Variablen zu einem Array wenn sie für die Größe deklariert werden.
Wirklich gerade vorgestellt zur Kompatibilität mit
vorhandenen Fortran-Bibliotheken. Vielen Dank.