Anzahl im Programm anlegen ? Also nicht im Quellcode
-
Guten Tag ,
kann mir einer bei folgendem Problem weiterhelfen.
Ich möchte das mein Programm die Anzahl von sich im Programm einließt und nicht im Quellcode als bsp. im Quellcode Steht
int Anzahl[40]
und im Programm möchte ich das
er die Anzahl anhand der eingabe übernimmt alsoint Anzahl[Eingabe]
-
Das kann man mit dynamischer Speicherreservierung machen.
Siehe:
http://www.cplusplus.com/reference/clibrary/cstdlib/malloc/
http://www.cplusplus.com/reference/clibrary/cstdlib/free/
-
Wo ist der Unterschied zwischen Malloc und Free ?
Free ist für Int variablen und Malloc für strings?
-
malloc() fordert den Speicher an, free() gibt ihn wieder frei (wenn er nicht mehr benötigt wird).
-
Sieh dir einfach die Beispiele auf der Seite an. Grundsätzlich sollte man aber wissen was Pointer sind, sonst wirds schwer
-
So nun hab ich es Probiert aber wie genau muss der Header aussehen ?
Also
int anzahl[???]
Ich kenne Pointer keine sorge ;). Nur versteh ich noch nicht ganz wie er die Zahl da reinschreibt
-
Pavel schrieb:
wie genau muss der Header aussehen ?
Header, wieso Header?
Pavel schrieb:
Ich kenne Pointer keine sorge ;).
Ach ja?
Pavel schrieb:
Nur versteh ich noch nicht ganz wie er die Zahl da reinschreibt
Du hast ein Array in der Hand, keinen Zeiger. Ein Array ist kein Zeiger.
-
Wenn du die Anzahl dynamisch verwalten willst, kannst du dafür keine blanken Arrays verwenden. Stattdessen nutzt man dafür einen Zeiger und holt sich per malloc() genug Speicher:
int anzahl; scanf("%d",&anzahl); int* array = malloc(anzahl*sizeof(int)); ... free(array);
-
Danke euch , habs hinbekommen.
-
A: "Wie male ich ein leckeres Obstbild?"
B: "Du solltest wissen, wie man einen Stift hält!"
A: "Ich kenn mich aus, keine Sorge..."
B: "Naja, dann schau mal hier nach ->"
A: *Auf 2 aussagekräftigen Seiten jeweils 2,5 Sekunden lang Obst-Bilder anguck*
B: "Wo liegt der Unterschied zwischen Bananen und Äpfeln? Sehen für mich gleich aus!!!"
A: "Bananen sind gelb und länglich, Äpfel sind rot und rund."
B: "Schaffe es nicht, eine Banane zu malen"
A: "Bananen-Bild poste"
B: *ausdruck* - "Danke, habs geschafft (GANZ ALLEIN!!!!!!!11eins)