[RISOLTO] Chiarimento su array statici e dinamici
-
McMoor
- Prode Principiante
- Messaggi: 24
- Iscrizione: venerdì 26 ottobre 2012, 0:08
- Desktop: xUbuntu
- Distribuzione: xUbuntu 13.04 32bit
[RISOLTO] Chiarimento su array statici e dinamici
Salve a tutti ho un dubbio.
Sò per certo che gli array statici hanno dimensione costante, ma allora perchè eclipse mi permette di fare questo
#include<iostream>
using namespace std;
int main()
{
int dim=5;
int array[dim];
dim++;
for(int i=0; i<dim; i++)
cout<<array<<endl;
return 0;
}
cioè mi cambia la dimensione senza dare errore, quando nel codice ci sarebbe dovuto essere const int dim=5;
ed inoltre per cambiare la dimensione avrei dovuto fare un array dinamico.
Aggiungo che la stampa finale è di 6 elementi (ovviamente di numeri casuali che si trovano in memoria).
Sò per certo che gli array statici hanno dimensione costante, ma allora perchè eclipse mi permette di fare questo
#include<iostream>
using namespace std;
int main()
{
int dim=5;
int array[dim];
dim++;
for(int i=0; i<dim; i++)
cout<<array<<endl;
return 0;
}
cioè mi cambia la dimensione senza dare errore, quando nel codice ci sarebbe dovuto essere const int dim=5;
ed inoltre per cambiare la dimensione avrei dovuto fare un array dinamico.
Aggiungo che la stampa finale è di 6 elementi (ovviamente di numeri casuali che si trovano in memoria).
Ultima modifica di McMoor il venerdì 20 giugno 2014, 21:46, modificato 1 volta in totale.
- Claudio_F
- Entusiasta Emergente

- Messaggi: 1463
- Iscrizione: lunedì 28 maggio 2012, 18:49
- Desktop: Mate/Gnome
- Distribuzione: Ubu22.04
Re: Chiarimento su array statici e dinamici
Direi che non viene fatta alcuna modifica, semplicemente con 'i' vai a puntare a zone di memoria oltre l'array.
- vaeVictis
- Imperturbabile Insigne

- Messaggi: 4703
- Iscrizione: venerdì 27 luglio 2012, 17:58
- Desktop: Gnome
- Distribuzione: Ubuntu 20.04 64bit
Re: Chiarimento su array statici e dinamici
La questione della "assenza" di const dipende dal fatto che è una estensione dello standard del compilatore, che presumibilmente è gcc/g++
Aggiungi -pedantic alle opzioni di compilazione e vedrai che ti segnala il warning.
Aggiungi -pedantic alle opzioni di compilazione e vedrai che ti segnala il warning.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
-
McMoor
- Prode Principiante
- Messaggi: 24
- Iscrizione: venerdì 26 ottobre 2012, 0:08
- Desktop: xUbuntu
- Distribuzione: xUbuntu 13.04 32bit
Re: Chiarimento su array statici e dinamici
Ok vi ringrazio della risposta
- vaeVictis
- Imperturbabile Insigne

- Messaggi: 4703
- Iscrizione: venerdì 27 luglio 2012, 17:58
- Desktop: Gnome
- Distribuzione: Ubuntu 20.04 64bit
Re: [RISOLTO] Chiarimento su array statici e dinamici
Ah, un'altra cosa.
Tu vai a leggere, non a scrivere.
Prova a scrivere invece... e vedi come ti dà segfault
Tu vai a leggere, non a scrivere.
Prova a scrivere invece... e vedi come ti dà segfault
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
-
McMoor
- Prode Principiante
- Messaggi: 24
- Iscrizione: venerdì 26 ottobre 2012, 0:08
- Desktop: xUbuntu
- Distribuzione: xUbuntu 13.04 32bit
Re: [RISOLTO] Chiarimento su array statici e dinamici
vaeVictis [url=http://forum.ubuntu-it.org/viewtopic.php?p=4603302#p4603302][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Ah, un'altra cosa.
Tu vai a leggere, non a scrivere.
Prova a scrivere invece... e vedi come ti dà segfault
Yeaaaah......Grazie mille
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti