Hallo Programmiere uC, mit hilfe des IDE von Keil, bin dabei einen Vektor zu erzeugen der am besten eine Variable Länge hat?? Weiss zufällig jemand wie man das macht?? mfg Gena
In C? realloc verwenden. Auf einem µC ist das allerdings wegen dessen begrenzten Arbeitsspeichers oft nicht sinnvoll. Wieviele Elemente wird Dein Vektor (vulgo Array) denn üblicherweise und wieviele maximal aufnehmen müssen? Wieviel RAM hat der von Dir verwendete µC?
hi, Also das Array wird max. 48 und min. 18 Elemente aufnehmen. Weiss nicht auf anhieb wieviel Ram der uC hat, ist ein c167 L40M auf nem Phycor Board (Phycor 167 HS/E). Hab bis jetzt keine Prob. mit dem Ram..
Gena wrote: > Also das Array wird max. 48 und min. 18 Elemente aufnehmen. Wir reden von einem Array aus Basistypen (also keine Strukturen oder sowas): Dann pfeif auf die Dynamik. Der Unterschied zwischen 48 und 18 ist so gering, dass es sich nicht lohnt da eine komplizierte Verwaltung (ala realloc) sich ins Programm zu holen nur um manchmal maximal 30 * sizeof(Basistyp) Bytes einzusparen. Mach dir einfach eine 2-te Variable die dir sagt, wieviele Elemente von den den 48 tatsächlich benutzt werden und gut ists. > Hab bis jetzt keine Prob. mit dem Ram.. Na dann spricht ja überhaupt nichts dagegen, das Ganze pragmatisch zu sehen. Für nicht benutzte Speicherzellen kriegst du kein Geld zurück. Wenn du das Ganze dynamisch halten willst, musst du ja trotzdem auch den Worst-case Fall (dass alle 48 benutzt werden) abdecken und zusätzlich auch noch den Fall, dass die dynamische Allokierung schief gehen könnte.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.