Problema con listas enlazadas

Alorma
21 de Enero del 2010
Hola buenas!
Queria intentar hacer un programa que leyera unos datos de una rchivo y los mnetiera en una lista etc... pero no consigo hacer-lo, he hecho una prueba para lo de la lista tal que asi:

#include <stdio.h>
#include <malloc.h>

#define MAX 14;
typedef struct dat
{
int n;
struct dat *seg;
}dato;

int main()
{
int n_MAX;
dato *primer, *aux;

n_MAX = 0;

primer = (dato *)malloc(sizeof(dato));
primer->n = n_MAX;
primer->seg = NULL;
do
{
aux->seg = (dato *)malloc(sizeof(dato));
aux->n = n_MAX;
aux->seg = NULL;
aux = aux->seg;
if (primer->seg == NULL)
primer->seg = aux;
n_MAX++;
}while (n_MAX <= 4);

aux = primer;

while (aux != NULL)
{
printf("%dn", aux->n);
aux = aux->seg;
}

return 0;
}

loque pasa e sq no consigo unir elprimer elemento conlos siguientes,algguna ayuda? Gracias