C Dynamic List Troubles -
typedef struct { long blarg; } item; typedef struct { item* items; int size; } list;
list , item structs, simple.
list l; l.size = 3; realloc(l.items, l.size*sizeof(item));
create list, allocate hold 3 items.
item thing; item thing2; item thing3; thing.blarg = 1337; thing2.blarg = 33; thing3.blarg = 123; l.items[0] = thing; l.items[sizeof(item)+1] = thing2; l.items[(sizeof(item)*2)+1] = thing3;
create items , add them list... when printing them:
printf("list 0: %ld\n", l.items[0].blarg); printf("list 1: %ld\n", l.items[sizeof(item)+1].blarg); printf("list 2: %ld\n", l.items[(sizeof(item)*2)+1].blarg); list 0: 1337 list 1: 33 { list 2: 1953720652 !
where did go wrong?
you should change l.items[sizeof(item)+1]
, l.items[(sizeof(item)*2)+1]
--> l.items[1]
, l.items[2]
Comments
Post a Comment