Anfängerfrage Array (Anzahl der Elemente bestimmen)



  • Hallo ich habe ein Array welches auf 100 Elemente limitiert ist.Im laufe des Tages werden zu bestimmten Ereignissen ein Messwert in das Array geschreiben.Die Anzahl kann aber immer verschieden sein.Wie kann ich bestimmen wieviel Messwerte in meinem Array abgelegt wurden?
    Gruss
    Timo



  • Du könntest dein Array zum Beispiel beim Initialisieren mit Werten füllen, welche nicht als Messwert in Frage kommen. Wenn du dann wissen willst wieviel Werte gespeichert sind, durchläufst du dein Array und zählst mit, wieviele deiner initialisierten Werte noch drin stehen. 100 - dieser Anzahl sind dann deine gespeicherten Messwerte.



  • Am besten wäre es, wenn du selbst mitzählst, wieviele Elemente du tatasächlich beschreibst.



  • also ne zählervariable mitlaufen lassen, jedesmal wenn du einen Messwert reinschreibst.



  • Am besten wäre es, wenn du selbst mitzählst, wieviele Elemente du tatasächlich beschreibst.

    Klar, mitzählen schadet nie. Aber ich sehe auch keinem Nachteil darin, wenn man es macht wie oneill5000 (vorausgesetzt das geht).



  • µngbd schrieb:

    Am besten wäre es, wenn du selbst mitzählst, wieviele Elemente du tatasächlich beschreibst.

    Klar, mitzählen schadet nie. Aber ich sehe auch keinem Nachteil darin, wenn man es macht wie oneill5000 (vorausgesetzt das geht).

    Nicht direkt, aber ich würde den Nachteil einfach darin sehen, dass das halt nur manchmal funktioniert (wenn es ungültige Werte überhaupt geben kann). Und ein Problem jedesmal anders zu lösen, ist doch auch nicht das Gelbe vom Ei. Mitzählen geht immer (und ist bestimmt auch performanter, wenn's drauf ankommt).



  • [quote="µngbd"Aber ich sehe auch keinem Nachteil darin, wenn man es macht wie oneill5000 (vorausgesetzt das geht).[/quote]
    ich finde den vorschlag völlig beknackt. beim reinschreiben läuft doch sowieso ein zähler mit, oder soll man da auch schon jedesmal das ende suchen?
    🙂



  • beim reinschreiben läuft doch sowieso ein zähler mit, oder soll man da auch schon jedesmal das ende suchen?

    Da ist was dran. Notiz an mich selbst: erst denken, dann reden.



  • ;fricky schrieb:

    beim reinschreiben läuft doch sowieso ein zähler mit, oder soll man da auch schon jedesmal das ende suchen?

    memset ?



  • +gjm+ schrieb:

    ;fricky schrieb:

    beim reinschreiben läuft doch sowieso ein zähler mit, oder soll man da auch schon jedesmal das ende suchen?

    memset ?

    memset wird in diesem Fall zwar nicht verwendet, aber selbst da weißt du doch, wieviele Elemente du beschreibst und kannst das festhalten.



  • _matze schrieb:

    memset wird in diesem Fall zwar nicht verwendet, ...

    Vielleicht übergibt C_Anfänger nur die Adresse eines Arrays, wartet bis es gefüllt ist/wird und wertet dann aus ? 🙂



  • +gjm+ schrieb:

    Vielleicht übergibt C_Anfänger nur die Adresse eines Arrays, wartet bis es gefüllt ist/wird und wertet dann aus ?

    das wäre ja gut. solche funktionen haben oft den füllstand als einen rückgabewert oder so.
    🙂



  • +gjm+ schrieb:

    _matze schrieb:

    memset wird in diesem Fall zwar nicht verwendet, ...

    Vielleicht übergibt C_Anfänger nur die Adresse eines Arrays, wartet bis es gefüllt ist/wird und wertet dann aus ? 🙂

    Kennst du denn eine Funktion, die dir eine unbestimmte Anzahl von Array-Elementen beschreibt, ohne dir mitzuteilen, wieviel sie beschrieben hat? 🙂



  • strcat !



  • +gjm+ schrieb:

    strcat !

    Da ergibt sich die Anzahl der kopierten Elemente doch durch die Länge des Source-Strings. Aber direkt mitgeteilt wird es einem nicht, ok.



  • +gjm+ schrieb:

    strcat !

    meinste der OP will mit strings arbeiten?
    🙂


Log in to reply