beliebig langes Array?

  • geschlossen
  • C

  • tr00per
  • 1759 Aufrufe 4 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • beliebig langes Array?

    Hi,

    gibt es die Möglichkeit, eine Bildschirmeingabe (Zahlen) in ein Array zu schreiben (jede Zahl einzeln), und die Länge des Arrays rauszufinden? Wie lang die Eingabe wird weis ich nicht, ist beliebig. Wie mach ich sowas am besten?
  • Bei dynamischen arrays wird normal so vorgegangen das du mit einer festen arraygröße anfängst (minimum an werten die du da drin speichern willst). Vor jedem neuen insert überprüfst du ob noch platz im array ist. wenn nicht wird das array mit der funktion malloc() vergrößert (z.B. aktuelle array größe * 2).

    Mal so als Denkansatz :)
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]
  • Wie Zerd schon sagte, wird bei dynamischen Arrays die Größe vorgegeben. Deswegen ist es auch meist ein Problem heutzutage, wenn ein Programmierer nicht richtig überprüft und es so zu einen "Buffer Overflow" kommt. Weil genau da, wird eine zu Große Zeichenmenge (String aus 20 Zeichen z.B.) in ein zu kleines Feld (Array von nur 10 Zeichen) gequetscht. Dabei werden nachfolgende Informationen überschrieben ;)
    Möglich ist aber über malloc() das Array zu vergrößern
    MFG
    Judenverfolgung, Inquisitionen, Kreuzigungen,
    Hexenverbrennung, wir wissen wie man feiert
    - Ihre Kirche †
    Blacklist
  • je nachdem wie die eingabe erfolgt, kannst du mit der length-Eigenschaft(in C# musst mal schaun wies für C heißt) prüfen wieviele einzelne Zahlen es insgesamt sind. Dann nimmste die Length-Eingeschaft zur Deklaration deines Arrays.
  • core666 schrieb:

    je nachdem wie die eingabe erfolgt, kannst du mit der length-Eigenschaft(in C# musst mal schaun wies für C heißt) prüfen wieviele einzelne Zahlen es insgesamt sind. Dann nimmste die Length-Eingeschaft zur Deklaration deines Arrays.


    Gibt es in C nicht... Länge muss bei Funktionen als Parameter mit angegeben werden,, bzw. irgendwie gespeichert werden
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]