Ciao a tutti,
nel mio programmino, leggo un file e carico delle strutture. Il file contiente oggetti e caratteristiche di questi.
All'interno del file, però, una struttura (tipo il rettangolo) puo' presentarsi piu' volte , quindi leggo il file e con la malloc mi occupo delle aree di memoria dove con l'aiuto di un indice posso andare a riprendere le singole strutture e rileggere le loro caratteristiche.

ES.
codice:
//faccio la malloc 
               puntObj[numObj] = malloc(sizeof(Rettangolo)); 
               if (puntObj[numObj] != NULL ) numObj++; // così diventa 1
               puntRect = (Rettangolo*) puntObj[numObj]        ;
               puntRect -> ObjID = 2; //per dire che la nostra struttura è un rettangolo.
però nell'istruzione dove assegno il numero 2 mi dà il seguente errore

Unhandled exception at 0x0016190b in Stampa.exe: 0xC0000005: Access violation writing location 0x00000000.

Ho definito:
codice:
void * puntObj [1000];
int numObj=0;
Rettangolo * puntRect; //punta alla struttura rettangolo 
//La struttura rettangolo è così definita all'interno di .h
typedef struct 
{
    int ObjID;
    int Xs;
    int Ys;
    int Xd;
    int Yd;
    COLORREF bckground ;
    COLORREF fgcolor;
    int LinkID;
}Rettangolo;
Come mai presenta quell'errore?
Dove sbaglio?

Grazie.