Hallo en welkom.
In deze lezing gaan we praten over arrays van variabele lengte.
Wat betekent dit precies?
Nou, dit is een nieuwe functie dat werd toegevoegd denk ik voor C99.
Maar tot nu toe hebben we allemaal weet over arrays,
behalve dat ze multi-dimensies zijn en ook bovendien een coole functie zijn waar
je meerdere gegevenselementen kunt opslaan in een enkele variabele is in wezen dat
ze een vaste grootte hebben.
Zodra je die maat hebt opgegeven, moet een hard-coded constante gebruiken.
Wanneer u de variabele declareert dat specificeert de
grootte en het blijft op dezelfde manier.
Variabele lengte arrays is een beetje misleidend.
Het betekent niet dat je gaat veranderen de grootte van de array dynamisch.
Het blijft hetzelfde grootte, maar nu kunt u variabelen gebruiken.
Dus de term variabele in variabele lengte array betekent niet dat u de lengte van kunt
wijzigen de array nadat u deze hebt gemaakt.
Wat het wel betekent, is dat je nu kunt stel een variabele in om voor die array te gebruiken.
dus een VLA blijft bestaan dezelfde grootte na creatie.
Met de variabele array kunt u: specificeer de grootte en array met een
variabele bij het maken van een array.
Dus je kunt gewoon variabelen gebruiken, dat is alles wat het echt betekent.
Het lijkt erop dat het zou kunnen niet zo handig zijn.
Maar eigenlijk de enige reden het was echt toegevoegd omdat
het hielp bij echt bestaan bibliotheken en andere talen.
Dus C99 introduceerde dit nieuwe functie en het wordt gebruikt en daarom wilde
ik het noemen.
Ik ga het alleen noemen kortom, ik ga
er geen gedetailleerd gebruik van maken.
Ik wilde je alleen vertellen dat dat bestaat omdat je
deze term arrays met variabele lengte soms nogal eens ziet als je leest over c.
En ik zou niet willen dat je het ziet het en
zeg wat dit in godsnaam betekent toen we arrays bestudeerden en we hebben het onderwerp niet genoemd.
Dus het werd voornamelijk geïntroduceerd om c een betere taal te maken
voor numeriek computergebruik.
VLA is welke arrays met variabele lengte maak het een stuk
eenvoudiger om bestaande bibliotheken van Fortran . te converteren numerieke rekenroutines tot c.
Dus daarom is het toegevoegd.
Dus als je een Fortran . bent programmeur, misschien
wilt u dit gebruiken wanneer u migreert of als u code converteert.
Als u uw Fortran . porteert code
probeert te converteren naar c, wilt u deze misschien gebruiken.
U kunt a . niet initialiseren VLA in haar aangifte.
Er is dus geen initialisatie als je het hebt
over arrays met variabele lengte.
Hier zijn enkele geldige maten die u kan van toepassing zijn bij het declareren van een array.
Dus we kunnen er twee declareren variabelen en een m.
En dan zie je onderaan als we float 8 en float a9 zeggen, kunnen we
die variabelen gebruiken wanneer we declareren ze in de arraygrootte.
En dat mocht vroeger niet C99 maar nu is het
en dat is VLA, variabele lengte array.
Een variabele specificeren om binnen een array worden gebruikt.
Het verandert de grootte niet tijdens runtime.
Er zijn hier andere voorbeelden geldig declaraties van arrays waar u misschien
op wilt letten.
Prima als je een instelt array naar een specifieke grootte, zoals 5.
U kunt uitdrukkingen gebruiken wanneer je wijst de grootte van een array toe.
Dus in het volgende voorbeeld 5 maal 2 plus 1, dat is prima.
Het andere dat hier opvalt, is: we gebruiken de operator sizeof, en dat is
ook prima, want dat gaat een int teruggeven.
Sizeof int gaat ofwel terugkeren 4 of 8 afhankelijk van de machine waarop je draait
en dan ben je er 1 aan toevoegen, prima.
Een negatief getal plaatsen binnen de declaratie van een
array, kun je dat niet doen.
Er bestaat niet zoiets als een negatieve 4.
De grootte van de array moet groter zijn dan 0.
Dus ook nul zal niet werken.
2. 5 een vlotter zetten, dat kan niet het heeft ook geen zin.
Hoe kun je creëren? een array van maat 2. 5.
Als u er echter 2 plaatst. 5 binnen de vierkante haken en je cast
het naar een int, dat is goed.
Wilde weer niet veel uitgeven tijd op arrays met variabele lengte,
ik wil alleen het concept introduceren.
Als je de term hoort, je weet wat het is.
Variabelen toewijzen aan een array bij het aangeven van de maat.
Echt net geïntroduceerd voor compatibiliteit met
bestaande Fortran-bibliotheken. Dank u.