Salve a tutti! Ho un problema con il seguente programma, ecco la traccia:
____
Scrivere un programma che dato un array di puntatori alla seguente struttura
struct studente {char *nome; char *cognome; int matricola;};
ricerchi un dato studente, utilizzando l’algoritmo di ricerca sequenziale.
____

In pratica ricevo un errore nonappena tento di caricare un nome nella prima cella dell'array... Ecco il codice che ho compilato fino ad ora:
codice:
#include <stdio.h>

typedef struct {
    char *nome;
    char *cognome;
    int matricola;
}studente;

void caricamento_arr(studente arr[],int n);
void visualizza_arr(studente arr[],int n);

studente a[100];

int main () {
    int n, scelta;
    printf("PROGRAMMA PER LA RICERCA DI UNO STUDENTE\n\n\n");
    printf("\nInserire il numero di studenti nella scuola: ");
    scanf("%d",&n);
    caricamento_arr(a,n);
    do {
        printf("\nDigitare:\n[0] Per uscire dal programma.\n[1] Per visualizzare gli alunni.\n[2] Per trovare un'alunno della scuola.\nDigitare la propria scelta: ");
        scanf("%d",&scelta);
        switch (scelta) {
            case 0: break;
            case 1: visualizza_arr(a,n);
                    break;
            case 2: break;
        }
    } while (scelta != 0);
    return 0;
}

void caricamento_arr(studente arr[], int n) {
    int i;
    printf("\n");
    for (i=0;i<n;i++) {
            printf("Inserire il nome dell'elemento in posizione [%d]: ", i);
            scanf("%s",arr[i].nome);
            printf("Inserire il cognome dell'elemento in posizione [%d]: ", i);
            scanf("%s",arr[i].cognome);
            printf("Inserire la matricola dell'elemento in posizione [%d]: ", i);
            scanf("%d",&arr[i].matricola);
    }
}

void visualizza_arr(studente arr[], int n) {
    int i;
    printf("\nVisualizzazione degli alunni:\n");
    for (i=0;i<n;i++) printf("Elemento %d - Nome: %s. Cognome: %s. Matricola: %d.\n",i,a[i].nome,a[i].cognome,a[i].matricola);
}
Non imparerò mai a usare propriamente le stringhe! Va beh, se qualcuno può chiarirmi i miei errori gliene sarei molto grato!

EDIT: Ovviamente l'errore è da cercare nella procedura caricamento_arr