Seite 1 von 1

Array mit varriabler Größe

Verfasst: Mi Jan 04, 2012 11:41 am
von DANrulz81
Hallo zusammen,

ich wollte mal nachfragen, da ich bisher nichts gefunden habe, ob es möglich ist, Arrays variabel zu gestallten. Etwa so in der Art:

Code: Alles auswählen

#include <stdio.h>

int main( void )
{
    int x,i=0;
    scanf("%i",&x);
    int array[x];

        for(i=0;i<x;i++)
        {
        array[i]=i;
        printf("\nArray %4i: %4i", i+1, array[i]);
        }
  return 0;
}
Wobei hier das array erst nach Eingabe von x definiert wird. Geht das auch irgendwie, dass ich das Array vorher mit der Variablen definieren kann?

Re: Array mit varriabler Größe

Verfasst: Mi Jan 04, 2012 1:21 pm
von cloidnerux
ich wollte mal nachfragen, da ich bisher nichts gefunden habe, ob es möglich ist, Arrays variabel zu gestallten.
Nicht in C/C++.
Was du suchst sind Listen, bzw "vector" wie es in der STL heißt.
Du kannst dir eine Liste selber Implementieren, das ist nicht so schwer, man muss nur etwas mit pointer un malloc/free spielen oder du kannst die STL verwenden.

Re: Array mit varriabler Größe

Verfasst: Mi Jan 04, 2012 2:30 pm
von Xin
cloidnerux hat geschrieben:Was du suchst sind Listen, bzw "vector" wie es in der STL heißt.
Vorsicht: Vektoren sind keine Listen, sondern "dynamische" Arrays. Dynamisch heißt soviel, dass ein großes Array per Copy-Construktor in ein noch größeres Array kopiert wird, wenn das vorhandene Array zu klein wird. Das Laufzeitverhalten von std::vector< Bitmap > und std::list< Bitmap > kann sich bei einem push also sehr deutlich unterscheiden. ^^