PDA

View Full Version : [C] - Informazioni comando MALLOC


marco83pt
04-12-2008, 14:50
Ciao a tutti, Vi espongo brevemente il mio dubbio.
Ho implementato un programma in che effettua l'inversione di una matrice tramite il metodo Gauss-Jordan. Poiché la dimensione delle matrice dove mi appoggio per lavoro è variabile ho usato il seguente comando (per esempio per la matrice A):

long double **A;

e poi:

A = (long double **) malloc (n * sizeof(long double *));
for(i = 0;i < n; ++i)
A[ i ] = (long double *) malloc (n * sizeof(long double));

Ottengo dei problemi in fase di esecuzione quando la dimensione delle matrici in ingresso supera i 500. Mi chiedevo come faccio a far allocare tali matrici in altri spazi di memoria così da poter gestire matrici di dimensione anche maggiore.

Grazie ancora. Saluti, Marco.

cionci
04-12-2008, 17:44
Un conterraneo :D

L'allocazione è corretta, un matrice da 500 x 500 x 10 byte dovrebbe essere contenuta senza problemi nello heap. Dopo tutto sono solo 2,4 MByte.
Il problema deve essere altrove.

marco83pt
04-12-2008, 22:29
Trovato e risolto....
adesso fa il suo dovere (mi deve lavorare con roba di 1000x1000), solo che adesso è venuto fuori un altro problema...ma è tardi lo guarderò domani.
Comunque grazie per la risposta.Marco.