Video: Technology Stacks - Computer Science for Business Leaders 2016 2025
Statiske arrayer fordeles på stakken, hvilket kan begrænse deres anvendelighed. Dynamiske arrayer tildeles på bunken, hvilket betyder, at de kun er begrænset af størrelsen af hukommelsen. Der er ganske vist nogle andre forskelle mellem dynamiske og statiske arrays, men det er den nederste linje, selvom dynamiske arrays kræver lidt mere arbejde at bruge, fordi du selv skal administrere hukommelsen, giver de også ekstra fleksibilitet i at arbejde med data.
Mere end sandsynligt vil du gerne håndtere komplekse data, når du bruger dynamiske arrayer. Eksemplet i denne online artikel sigter mod at behage ved at se på, hvordan du kan bruge et dynamisk array med en struktur. Her er et eksempel på koden du kan bruge:
#include # include using namespace std; struct medarbejder {streng navn; int Alder;}; int main () {Medarbejder * DynArray; DynArray = ny (nonhrow) Medarbejder [3]; DynArray [0]. Navn = "Harvey"; DynArray [0]. Alder = 33; DynArray [1]. Navn = "Sally"; DynArray [1]. Alder = 26; DynArray [2]. Navn = "Jeff"; DynArray [2]. Alder = 52; cout << "viser Array Content" << endl; for (int i = 0; i <3; i ++) {cout << "navn:" << dynArray [i]. Navn << "tAge:" << dynArray [i]. Alder << endl;} slet [] DynArray; returner 0;}
I dette eksempel begynder koden ved at oprette en Employee struct, der indeholder medarbejderens navn og alder. Du kan bruge en hvilken som helst slags datakontainer, der ønskes - denne er bare en struktur.
For at skabe et dynamisk array definerer du en peger til array-variablen. Denne handling placerer variablen på bunken i stedet for bunken. Du opretter derefter arrayet, som indeholder tre medarbejderposter i denne sag. Koden udfylder dataene og bruger derefter en loop til at vise resultaterne på skærmen. Her er hvad du bør se, når du kører eksemplet.
Visning af Array-indholdsnavn: Harvey Alder: 33 Navn: Sally Alder: 26 Navn: Jeff Alder: 52
Bemærk, at du får adgang til de enkelte medlemmer af Medarbejder ved at få adgang til det krævede arrayindeks og derefter bruge punktsyntax for at specificere medlemsnavnet. Det er vigtigt at huske, at det dynamiske array fungerer som enhver anden matrix, fordi du får adgang til et indeks for at opnå en bestemt post.
Det er vigtigt at bruge slette [] for at frigøre den hukommelse, der bruges af DynArray. Ellers vil din ansøgning have en hukommelsesleje, som i sidste ende vil påvirke systemets ydeevne eller i det mindste forårsage at det gør sjove ting. Fordi vores systemer allerede er sjove, der virker nok, er det nok en god ide at sikre, at din ansøgning ikke 'bidrager til problemet.