>>440
情報が少なくて良く分からんから、適当に作った。
脳内コンパイルなんでうまく動くかは知らん。

struct AddressList *insert(struct AddressList *root,struct Address ad, int n){
    struct AddressList**p;
    struct AddressList*New;
    int i;
    p = &root;
    New = (struct AddressList*)malloc(sizeof(struct AddressList));
    for(i=0;i<n && *p;++i)p = &(*p)->next;
    New->addr = ad;
    New->next = *p;
    *p = New;
    return root;
}