Oppure

Loading
28/10/12 12:01
drewnik99
Dichiaro un array dinamico multidimensionale grande 65536 * 65536, ma il programma non riesce ad inizializzare l'intero array.

Ecco il codice:
int** array = (int**)malloc(sizeof(int*) * 65536);

for(int i = 0; i < 65536; i++)
{
    array[i] = (int*)malloc(sizeof(int) * 65536);
}

for(int x = 0; x < 65536; x++)
{
    for(int y = 0; y < 65536; y++)
    {
        array[x][y] = 0   //mio_valore, 0 come esempio
    }
}


Qualche suggerimento?
Grazie in anticipo per le risposte.
aaa
28/10/12 13:41
nessuno
Non puoi allocare 17 giga di memoria !

Quando sia alloca della memoria, devi controllare che ogni puntatore restituito dalla malloc sia diverso da NULL. Altrimenti l'allocazione è fallita.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
28/10/12 13:43
Poggi Marco
Prova a dimensionare una matrice più piccola.

Se non sbaglio, tu stai tentando di allocare ben 16 GB !
aaa
28/10/12 14:39
carlduke
ahahahah! ..a meno che il tuo obiettivo non fosse quello di mandare in palla un server :nono:
aaa
31/10/12 13:38
drewnik99
Postato originariamente da nessuno:

Non puoi allocare 17 giga di memoria !

Quando sia alloca della memoria, devi controllare che ogni puntatore restituito dalla malloc sia diverso da NULL. Altrimenti l'allocazione è fallita.


Sul momento non ci avevo pensato.

Risolto, grazie a tutti per l'aiuto.
aaa