#include <stdio.h>
#include <stdlib.h>

struct list {
    int key;
    struct list *next;
};

struct list *append(struct list **l1, int k)
{
    *l1 = malloc(sizeof *l1);
    (*l1)->key = k;
    return *l1;
}

int main(void)
{
    struct list *l;
    int i;

    for (i = 0; i < 42; ++i)
        l = append(&l, i);
}
