Qualcuno puo` esprimere giudizi su un pezzettino di codice che ho scritto ?? Eccolo: #include <stdio.h> #include <string.h> struct esame { char * nome; char * cognome; char * matricola; char * corso; int voto; }; void esame_print(struct esame * e) { printf("-------------------------------------\n"); printf(" Alunno: %s %s\n", e->cognome, e->nome); printf("Matricola: %s\n", e->matricola); printf(" Corso: %s\n", e->corso); printf(" Voto: %d\n", e->voto); } struct esame * esame_new() { struct esame * e; e = (struct esame *)malloc(sizeof(struct esame)); if (e == NULL) return NULL; e->nome = NULL; e->cognome = NULL; e->matricola = NULL; e->corso = NULL; e->voto = 0; return e; } void esame_delete(struct esame * e) { if (e != NULL) { if (e->nome != NULL) free(e->nome); if (e->cognome != NULL) free(e->cognome); if (e->matricola != NULL) free(e->matricola); if (e->corso != NULL) free(e->corso); free(e); } } void esame_fill(struct esame * e, char * nome, char * cognome, char * matricola, char * corso , int voto) { e->nome = (char *)malloc(strlen(nome)+1); e->cognome = (char *)malloc(strlen(cognome)+1); e->matricola = (char *)malloc(strlen(matricola)+1); e->corso = (char *)malloc(strlen(corso)+1); strcpy(e->nome, nome); strcpy(e->cognome, cognome); strcpy(e->matricola, matricola); strcpy(e->corso, corso); e->voto = voto; } int main() { struct esame * esame[3]; int i; for (i = 0; i < 3; i++) { esame[i] = esame_new(); if (esame[i] == NULL) { fprintf(stderr, "error in esame_new()\n"); exit(1); } esame_fill(esame[i], "Daniele", "Nicolodi", "4qb", "Analisi Matematica 1 ud", 27); } esame_fill(esame[1], "Elisa", "Frasnelli", "2qb", "Analisi Matematica 1 ud", 30); for (i = 0; i < 3; i++) { esame_print(esame[i]); } for (i = 0; i < 3; i++) { esame_delete(esame[i]); } } Ciao && Grazie -- Daniele --- http://www.grinta.net --- -- Per iscriversi (o disiscriversi), basta spedire un messaggio con SOGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx