Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » array grösse

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.08.2003, 14:38 Uhr
~phil
Gast


hallo,

meine frage:

kann man die arraygrösse zur laufzeit des programms ändern?

die array-grösse muss doch eigentlich immer ein konstanter wert sein......!?


WARTE.....
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.08.2003, 14:56 Uhr
virtual
Sexiest Bit alive
(Operator)


Wenn Das Array als solches deklariert ist:

C++:
Type array[10];


Dann (natürlich) nicht. Wenn Du das "Array" dynamisch belegst, schon:

C++:
int set_array_size(Type** array_p, size_t new_size)
{
      Type* tmp = realloc(*array_p, sizeof(**array_p)*new_size);
       if (NULL==tmp) return 0;
       *array_p = tmp;
       return 1;
}

int main()
{
    Type* array = NULL;

     if (!set_array_size(&array, 10)) { /* Fehler : Konnte Array größe nicht ändern! */
     ...
     if (!set_array_size(&array, 100)) { /* Fehler : Konnte Array größe nicht ändern! */
     ...
     if (!set_array_size(&array, 1000)) { /* Fehler : Konnte Array größe nicht ändern! */
}


In C++ wind hier eher Vectoren zu empfehlen, weil realloc nichts in C++ zu suchen hat: es funktioniert nicht mit Nicht-PODs!
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 08.08.2003 um 14:57 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: