Salve a tutti, ho un dilemma da porvi.
Mi è venuto un dubbio sulle struct e quindi ho realizzato un programma molto semplice per esporvi il mio "problema". Il codice è il seguente:

codice:
#include <stdio.h>
#include <stdlib.h>

typedef struct Classifica {

	int id;
	int totale;

} Classif ;

	Classif clas[];

int main()
{
    int i;

    for(i=0; i<100; i++)
    {
        clas[i].id = i+i;
        clas[i].totale = i;
    }

    for(i=0; i<100; i++)
    {
        printf("%d | %d-%d\n", i, clas[i].id, clas[i].totale);
    }

    return 0;
}
Notare il Classif clas[];: il programma in questo caso crea effettivamente 100 struct.
Ho provato a compilare con GCC e non risulta alcun errore o warning.

Il dilemma è il seguente:
E' giusto o sbagliato utilizzare le struct in questo modo alquanto dinamico?
E' una funzione realmente voluta del C oppure è un caso particolare applicabile solo con qualche vincolo (di cui io non sia a conoscenza)?
Ovvero, è "pericoloso" oppure è una pratica usata quando non si vuole passare per le liste?

Grazie per la risposta che vorrete darmi!