Deklarierung eines Arrays mit einer Variable?

  • Themenstarter Themenstarter Dragonate
  • Beginndatum Beginndatum
D

Dragonate

Hi, und meine 2te Frage für heute:

Kann ich den index eines Arrays durch eine Variable festlegen ?

Konkretes Problem :

User gibt eine Zahl ein --> wird gespeichert in "Anzahl"

Und jetzt will ich deklarieren :

Array [ Anzahl ] ;

Darf ich das ? ( Programmiere in "C" )
 
Aha, ich hab keine Ahnung welches C ich hab, ich programmiere allerdings mit der aktuellen DEV C++ Version, hoffe mal das geht dann, danke.
 
Aha, ich hab keine Ahnung welches C ich hab, ich programmiere allerdings mit der aktuellen DEV C++ Version, hoffe mal das geht dann, danke.
Die IDE hat damit nichts zu tun. Es kommt drauf an welchen Compiler du verwendest. Beim GCC kannst du einstellen welchen C-Standard der Compiler unterstützen soll (Option -std=c99).

Und Dev-C++ ist nun wirklich ziemlich alt und wird auch nicht mehr wirlich weiterentwickelt (wie es scheint). Warum verwendest du nicht Code::Blocks oder CodeLite?

Gruß
 
Und für die C-Versionen, in denen das nicht erlaubt ist; hier ein kleines Beispiel für zB Ints:
C++:
int *array;    //statt int array[irgendwas];
//...

//Sobald du die Größe weißt:
array=(int *)malloc( Anzahl * sizeof(int));    //das Anzahl muss es halt schon geben

//Und vorm Programmende nicht vergessen:
free(array);

Da Anzahl ersetzt du ggf halt durch einen anderen Variablennamen.
Wenn es keine ints sind, auch einfach die 3 "int", die da vorkommen, durch was anderes ersetzten

Gruß
 
Zuletzt bearbeitet von einem Moderator:
Zurück