10. juli 2003 - 19:18
Der er
10 kommentarer og 1 løsning
cleare en struct?
Hej E! er der nogen nem måde man kan cleare et struct array, og ligeledes et punkt i en struct? prøver at vise det har en struct.. typedef struct { int a; int b; } noget; noget andet[100]; andet[1].a = 1; andet[1].b = 2; andet[2].a = 3; andet[2].b = 4; nem_måde_at_cleare_hele_struct(andet); cleare hele structen.. new_måde_at_cleare_noget_i_struct(andet, b); cleare b i alle andet[nr].. håber i forstår? //Nomak
Annonceindlæg fra Conscia
memset(andet,0x00,100*sizeof(noget)); memset(andet[2],0x00,sizeof(noget));
Den første clearer alle felter i alle elementer. Den anden clearer alle felter i et element. Der er ike nogen smart måde at cleare et felt i alle elementer - det skal være en løkke.
1. kan også skrives som memset(andet,0,sizeof(andet)); 2. skal skrives som memset(&andet[2],0,sizeof(noget)); eller memset(andet+2,0,sizeof(noget); db
Ups, mangler en parentes: memset(andet+2,0,sizeof(noget));
Du har ret: der manglede en ampersand ! memset(&andet[2],0x00,sizeof(noget));
arne_v, tror du har misforstået mit andet spørgsmål! skal clearer et element i alle felter og ikke clearer alle felter i et element ? lige kommet hjem fra ferie :D
Jeg er ikke helt med. Hvis vi bruger de tal værdier fra dit spørgsmål. du kan cleare 1,2 og 3,4 du kan cleare 1,2 eller 3,4 hvis du skal cleare 1 og 3 eller 2 og 4 skal du bruge en løkke
det er det sidste jeg mener!
Så er det: for(i=0;i<100;i++) andet[i].a = 0; eller: for(i=0;i<100;i++) andet[i].b = 0;
22. juli 2003 - 22:33
#10
OK ?
22. juli 2003 - 23:49
#11
glemte at acceptere.. sorry
Kurser inden for grundlæggende programmering