strano comportamento con array

ciao
lavorando con un array mi sono imbattuto in questa situazione
nel setup()

...
int ritardo[11] = {
  20, 40, 50, 65, 80, 80, 65, 50, 40, 20, 100};
...

e nel loop()

...
delay(ritardo[11]);
...

come mai verifica e caricamento non mi segnalavano l'errore?

Perché il compilatore NON entra nel merito e, non essendoci un sistema operativo, non c'è nessuno che si accorge che stai accedendo ad una area di memoria NON tua. :roll_eyes:

In pratica tu avevi definito e occupato 11 interi, ovvero 22 bytes, poi sei andato a leggere una zona non tua, quindi hai letto un intero (2 bytes) di un area di memoria che poteva essere sia non utilizzata che facente parte di una altra variabile. In ogni caso il valore letto era un valore senza alcun senso nel contesto del tuo array.

Errori del genere sono spesso causa di impazzimento del programma e di malfunzionamenti, quindi ... occhio :wink:

Guglielmo

grazie
infatti stavo impazzendo per cercare di capire dove fosse il problema