Forum: C++

Forum huvudsida -> Programmering -> C++

Sidor: 1

Till botten

nibbo 19:16 - 4:e Maj 2008 | Post #1
Administratör
Inlägg: 446


Skicka PM
Hur gör jag om jag skulle vilja deklarera en array med en variabel som bestämmer storleken på den?

Typ
  1. int storlek;
  2. cin>>storlek;
  3. int array[storlek];


Fast det ska fungeraSmiley

EDIT: Jaha, då glömde jag skriva nått mer än vilket språk det var i ämnesraden...

-------------------------
Ja! Det är en ,,KTA pungsvansknapp på min avatar!

Senast redigerad 19:17 - 4:e Maj 2008


Nissebosselasse 19:48 - 4:e Maj 2008 | Post #2
Medlem
Inlägg: 490


Skicka PM
[source]
int storlek;
cin >> storlek;
int *array = new int[storlek];
[/source]

Glöm inte frigöra med delete []!

-------------------------
http://pushingcows.se
Gula Nallen



nibbo 22:18 - 4:e Maj 2008 | Post #3
Administratör
Inlägg: 446


Skicka PM
    Citat av Nissebosselasse:
[source]
int storlek;
cin >> storlek;
int *array = new int[storlek];
[/source]

Glöm inte frigöra med delete []!


ok, vad är det jag gör, mer exaktSmiley
Det är nåt pekartjofräs va?


-------------------------
Ja! Det är en ,,KTA pungsvansknapp på min avatar!

Senast redigerad 22:20 - 4:e Maj 2008


FunkyChicken 10:30 - 5:e Maj 2008 | Post #4
Nyhetsredaktör
Inlägg: 800


Skicka PM
En array är *egentligen* bara en pekare. Den pekar till det första elementet i arrayen. När du referar till element nr x i en array y[], säger du alltså egentligen att du vill ha det som står på minnesplats y + x*elementstorlekten (i ditt fall är elementstorlekten storleken av en int).

Att deklarera en array är alltså samma sak som att deklarera en pekare, och därför får du på samma vis i någon mening en array när du deklarerar en pekare, vilket du gör här. Du kan alltså i teorin använda alla pekare som arrays om du vill, men för att inte allt ska explodera måste du när du deklarerar pekaren ange [storlek] som ser till att minne allokeras för [storlek] många element, så att ingen annan del av programmet råkar skriva in något där.




Sidor: 1

Forum huvudsida -> Programmering -> C++
Atom feed

Du får inte posta i den här tråden | Till toppen