Arrays

Tags:    c++

Hej,

Måske et lidt for bredt spørgsmål, men:
Hvilke begrænsninger og muligheder tilbyder arrays?

Svar påskønnes!! :D



Meget bredt... :P

Arrays er ikke dynamiske. Man kan altså ikke (som i PHP og JavaScript) Skrive noget ala:
Fold kodeboks ind/udKode 


Du er nød til at bruge en std::vector<type> til det.

Man kan kun have en variabel type i et array.

Gider ikke lige at komme på mere, hvorfor overhovedet det her spørgsmål...?



Tak for svar! :)

Men hvad er forskellen på statiske og dynamisk allokerede arrays?
Er ikke helt med (er nybegynder).

Altså kan man skrive det på denne måde?
A.) Dynamisk Array
Et dynamisk array er et array som kan forlænges eller forkortes for at tilpasse antallet af elementer i selve arrayet.

int myArray[ ] = {1, 2, 3, 4}

B.) Statisk Array
Et statisk array er et array som har et fikst antal elementer/pladser og ikke kan ændres.

int myArray[4]

er det korrekt?





Hov, glemte lige at spørge. Et dynamisk array, kan dette tilgåes hurtigere end en statisk?



Der er ikke noget der hedder "dynamisk array" hhv "statisk array" i C eller C++

Dette er et array med 4 elementer, bliver initialiseret til 1, 2, 3 og 4:
int myArray[ ] = {1, 2, 3, 4};

Dette er et array på 4 elementer, disse initialisers ikke hvis det oprettes på stakken, ellers til 0:
int myArray[4];

Den eneste forskel er således initialiseringen.



Henning:
Når du først har lavet et array, kan du ikke tilføje flere elementer. (Med mindre du har sat array-sizen til et forud-defineret højt tal)



Henning:
Når du først har lavet et array, kan du ikke tilføje flere elementer. (Med mindre du har sat array-sizen til et forud-defineret højt tal)


..og dermed kan du ikke tilføje :-)
Du kan til enhver tid udskifte indholdet af dit array, men du kan ikke udvidde det.

Du kan allokere et array på stakken eller på heapen.

Allokering på stakken ser således ud:
Fold kodeboks ind/udKode 


Allokering på heapen ser således ud i C:
Fold kodeboks ind/udKode 

...og i C++:
Fold kodeboks ind/udKode 


Allokering på stakken er hurtigst men ikke så fleksibel da størrelsen skal hardcodes. Ved allokering på heapen kan størrelsen sættes på runtime.

Der er meget mere at sige om stak/heap, så læs hellere videre på nettet.



t