[C] Valore massimo per direttiva #define

bad.alex
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

Risposte
apatriarca
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.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.