Hvad er syntaxen på disse notationer? 1. static array = array hvis stoerrelse kendes paa compile time 2. dynamic array = array hvis stoerrelse foerst kendes runtime'
Tak for eksemplet, men jeg er total nybegynder og ved ikke ret meget om malloc osv. har stadig svært ved at finde ud af forskellen på stakken og heapen. Ved at heapen er "den frie hukommelse", og man kan se det som de rum i hukommelsen man ikke kan sætte et etikette på... mens stakken er den del af hukommelsen som er af LIFO-strukturen, dvs last in first out.... men hvordan ses det i forhold til arrays?? Som sagt, jeg er meget i tvivl om syntaxen.
Heap og stack er to forskellige steder i memory, new/malloc allokerer fra heap, delete/free deallokerer fra heap, lokale variable allokeres paa stack, de deallokeres automatisk naar funktionen/metoden afslutter.
nøøjjj... jeg forstår det stadig ikke. Når du skriver: static array = array hvis stoerrelse kendes paa compile time dvs. statiske arrays er de arrays som oprettes på stakken?? og består af LIFO-strukturen? Kan overhoved ikke visualisere det for mig.
dynamic array = array hvis stoerrelse foerst kendes runtime dvs. man kender dets størrelse når programmet kører, men ikke inden og det er derfor arrayet oprettes på heapen??
void f(int n) { int x[3]; // vi ved der er 3 elementer når der compiles int y[] = { 7, 8, 9 }; // vi ved at der er 3 elementer når der compiles int *z = new int[n]; // vi ved først når funktionen kaldes hvad n er
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.