Si è quello che volevo fare e fatto inizialmente, poi ho perso il filo.
Anche il problema del nome... inserito prima della free non da problemi.
Quello che non capisco è se la free funziona, perché le stampe finali continuano a trovarmi i valori della matrice a quell'indice. Adesso il codice è questo, cioè con l'inserimento del secondo indice tipo matrice dopo la modifica della malloc come suggerita:
codice:for(i = 0; i <= numeroInserimenti; i++) { if(ptrVettStud[i][0].matricola == tmp_matricola) { printf("Lo studente %s %s e' stato rimosso dall'archivio.\n", ptrVettStud[i][0].nome, ptrVettStud[i][0].cognome); free(ptrVettStud[i]); printf("Operazione avvenuta con successo!\n"); printf("Lo studente %s %s e' stato rimosso dall'archivio.\n", ptrVettStud[i][0].nome, ptrVettStud[i][0].cognome); } else { printf("Il numero di matricola non e' in elenco.\n"); } //break; } printf("%d\n", ptrVettStud[0][0].matricola); printf("%d\n", ptrVettStud[1][0].matricola); printf("%d\n", ptrVettStud[2][0].matricola);

Rispondi quotando