Multi Forum Altomesima
Multi Forum Altomesima
Multi Forum Altomesima
Home | Profilo | Discussioni attive | Utenti | Cerca | FAQ
 Tutti i Forum
 Linguaggi di programmazione
 Linguaggio C
 vettori troppo grandi

Nota: Devi essere registrato per poter rispondere.

Dimensioni video:
Nome Utente:
Password:
Messaggio:

* HTML abilitato
* Codice Forum disabilitato
Faccine
Felice [:)] Davvero Felice [:D] Caldo [8D] Imbarazzato [:I]
Goloso [:P] Diavoletto [):] Occhiolino [;)] Clown [:o)]
Occhio Nero [B)] Palla Otto [8] Infelice [:(] Compiaciuto [8)]
Scioccato [:0] Arrabbiato [:(!] Morto [xx(] Assonnato [|)]
Bacio [:X] Approvazione [^] Disapprovazione [V] Domanda [?]

 
   

C O N T R O L L A    D I S C U S S I O N E
frea Inviato - 16/03/2005 : 10:20:15
Ho notato che in c/c++ non vi è un controllo automatico sulla dimensione massima di un vettore.
Ad esempio il seguente codice:

int main (void) {
double vett[10000000];
vett[0] = 1.;
return 0;
}

mi da segmentation fault.

Qualcuno conosce un modo per controllare tali inconvenienti?

Grazie mille.
1   U L T I M E    R I S P O S T E    (in alto le più recenti)
mimc Inviato - 31/03/2005 : 15:22:46
/* How big is a double? expect an answer of 8. */

main()
{
printf("%d \n", sizeof(double));
}
un double in genere occupa 8 byte per cui con double vett[10000000];
sono allocati 80.000.000 byte, valore elevatissimo

10000000*sizeof(double)

la sizeof ti permette di sapere la dimensione di un certo tipo di dato...
e sapendo quanto memoria si ha a disposizione il controllo potrebbe esercitarsi dichiarando vettori di un certo tipo inferiori a tal dimensione

Il fatto importante è che l'allocazione di memoria con double vett[10000000]; avviene in modo statico, subito ed indipendentemente se il contenuto di tali celle sono riempite con dati o no.
Non pare essere un buon metodo di programmazione conviene allocare la memoria in modo dinamico quando le dimensioni dei vettori sono grandi.

Vai all'inizio della pagina Multi Forum Altomesima - © 2002 -2008 Altomesima Online
Questa pagina e' stata aperta in 0,02 secondi. Superdeejay.net | Snitz Forums 2000