ci provo

codice:
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#define size 11
struct dato
{ char *name; int numero;
};
typedef struct dato DATO;
struct nodo
{
DATO inf; struct nodo *p_next;
};
typedef struct nodo NODO;
int numeri[size]={5,8,6,0,-1,7,1,2,10,4,9};
char *nomi[size]={"Anna","Mario","Giuseppe","Angela","Valerio","Fabrizio","Marianna","Giovanni","Patrizia","Valentina","Sara"};  

NODO *crea_lista(); //creazione della lista
int main(int argc,char *argv[])//main
{
NODO *head; /*Puntatore alla testa della lista*/;
head=crea_lista(); //Chiamata alla function per la creazione della lista
system("PAUSE");  }
/*Funzione per la creazione della lista con il relativo inserimento delle informazioni*/
NODO *crea_lista()
{
NODO *p,*paus;
int i,num;
char nome[20];
numeri[0]=num;
strcpy(nome,nomi[0]);
p=(NODO *)malloc(sizeof(NODO *));
p->inf.numero=num; //attenzione!! p è un nodo non un dato
p->inf.name=nome; }