typedef struct {
long blarg;
} item;
typedef struct
{
item* items;
int size;
} list;
List および Item 構造体、かなり単純。
list l;
l.size = 3;
realloc(l.items, l.size*sizeof(item));
リストを作成し、3 つのアイテムを保持するように割り当てます。
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;
いくつかのアイテムを作成してリストに追加します...しかし、それらを印刷するとき:
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 !
どこがうまくいかなかったのですか?