Forum: Mikrocontroller und Digitale Elektronik Funktion für Zellen in Array löschen


von Roland (Gast)


Lesenswert?

Hi,
Ich möchte gerne ein Array nach jedem beschrieben wieder "sauber" 
machen.
Allerdings ist es ziemlich groß buffer[90]. Wie kann ich das am besten 
initialiseren, ohne das so machen zu müssen
buffer[90] = "0000....0000" oder mit einer Schleife die einzelnen Felder 
wieder mit " " zu löschen?

von Uwe (Gast)


Lesenswert?

Gar nicht !
Jede CPU hat eine bestimmte Busbreite z.B. 8Bit. Daher muß er IMMER in 
einer Schleife für 90 Elemente a 8Bit 90 mal 8Bit Schreiben (Es sei 
denn: das System hat nen DMA Controller eingebaut)
Also wenn du im code buffer[90]="0000...0000" stehen hast macht der 
Compiler auch nur 90 mal ne Zuweisung oder ne Schleife draus. Anders 
gehts nicht.

von Εrnst B. (ernst)


Lesenswert?

Du kannst eine Bibliotheksfunktion dafür verwenden.

die macht zwar intern auch nur dieselbe Schleife, aber evtl. 
handoptimiert und effektiver.

=> bzero, memset

von DirkB (Gast)


Lesenswert?

Roland schrieb:
> buffer[90] = "0000....0000"

Wenn das C ist, funktioniert das aber nur bei der Definition von dem 
Array.
Und dann reicht ein  char buffer[90] = {0};

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
Noch kein Account? Hier anmelden.