Forum: Mikrocontroller und Digitale Elektronik Array löschen


von Öhmi (Gast)


Lesenswert?

Hallo C-Programmierer,

ich habe ein Array angelegt(Codevision für mega128):

char a[30];

Im Verlaufe des Programmes muss ich dieses löschen, d.h. überall soll
die 0x00 drinstehen.

Wäre das so richtig?

a[30] = {"000000000000000000000000000000"};

Ich hab das mal irgenwo gesehen, weis aber nicht ob das richtig ist.

Gruß  Öhmi

von The Daz (Gast)


Lesenswert?

Nicht gut. Mach lieber memset(a, 0, sizeof(a));

von Jens (Gast)


Lesenswert?

Nee, das geht so nicht.

Mach es so:

unsigned char i;

for(i=0;i<30;i++) a[i] = 0;

oder:

memset(...);

von Olaf (Gast)


Lesenswert?

Wenn 0x00 gemeint ist, dann währe dies falsh, da du da ein String von
ascii '0' (0x30) und nicht 0 reinschreibst.
Besser ist
 memset(a,0,sizeof(a));
zu verwenden.

Sollte tatsächlich '0' (0x30)(48) gemeint sein so benutzt du
 memset(a,'0',sizeof(a));

  Olaf

von Öhmi (Gast)


Lesenswert?

Heißa, es funktioniert mit memset.

Viiiielen Dank allen, wieder was gelernt.


Schönen Gruß   Öhmi

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.