maffo95 ha scritto:
ah ok grazie mille ad entrambi
Ma non ho capito il perchè non si possa mettere una dimensione dinamica (se il C ha una memoria dinamica)...cioè tutte le volte se devo mettere la dimensione di un array devo utilizzare la funzione "malloc" oppure dichiararlo subito??
Il c ha anche la memoria nello stack oltre che nell heap, devi dunque specificare cosa vuoi utilizzare.
con la malloc() crei spazio nell heap, con la realloc() la puoi ridimensionare e con la Free() liberare.
TUTTE le variabili del c che NON vengono inizializzate hanno valore indefinito, nel tuo caso n prenderàun valore casuale negativo causando il crash immediato.
Come poi già suggerito devi buttare nel cesso dev-c++, usando altro ambiente con altro compilatore avresti ottenuto dei warning su quel codice!
Ora NON STAI IMPARANDO IL C MA IL C PER DEV, il dev non funziona con il normale codice c ma bisogna inserirci errori per farlo funzionare, ecco perché ti avevo linkato quella pagina, per farti capire che noi non parliamo solo per far aria