[C] Valore massimo per direttiva #define

Messaggioda bad.alex » 02/10/2017, 17:33

Ciao ragazzi.

Avevo scritto un nuovo argomento qualche ora fa, in cui chiedevo aiuto per un errore comparso nel mio codice al momento della compilazione. Dopo vari tentativi, ho trovato che l'errore era dovuto al valore massimo associato alla costante BOOK_MAX nel define (per questo motivo ho rimosso successivamente il post).
Adesso, però, mi trovo a dover risolvere questo problema, in quanto mi servirebbe dichiarare un vettore la cui dimensione massima è 50000000.
E' possibile che vi sia un valore massimo per cui #define non funzioni?
Sto compilando con Xcode, ma anche con gcc mi compare l'errore "Segmentation fault 11".
In un primo momento, avevo pensato di utilizzare l'allocazione dinamica, ma essendo la dimensione non immessa da tastiera, ho pensato fosse inutile.
Spero possiate darmi qualche consiglio. Vi ringrazio
bad.alex
Senior Member
Senior Member
 
Messaggio: 1099 di 1283
Iscritto il: 10/01/2007, 19:01

Re: [C] Valore massimo per direttiva #define

Messaggioda apatriarca » 02/10/2017, 19:49

Sia le variabili statiche che quello locali hanno effettivamente una dimensione massima. E' possibile aumentare tale valore, ma quando la dimensione supera un certo valore conviene usare l'allocazione dinamica della memoria.
apatriarca
Moderatore
Moderatore
 
Messaggio: 4843 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite