Problemi con Array

hiperformance71:
Salve a Tutti,

Ho da poco iniziato con Arduino, sto smanettando con l'uso degli Array, ho qualche discrepanza tra quello che dice la guida online del sito ufficiale e quello che il compilatore mi da quando tento di verificare il codice. in sostanza, il manuale dice che gli array in C sono entità con index "Zero based" ovvero che in un'array di 10 elementi, il primo indirizzo sarà 0, poi 1, poi 2 e così fino all'ultimo, che sarà 9. Un array lo dichiariamo ed inizializziamo così:

int nomearray[8]={10,20,30,40,50,60,70,80,90};

ma tentando di verificarlo nel compilatore del IDE di Arduino, mi da errore di lunghezza array, si stanno inizializzando più valori dell'array dichiarato, se invece di [8] metto [9] l'errore sparisce! idem, se nel manuale si vede che si può dichiarare e inizializzare un'array con index 0 cosi: int array[0]={10}; nella verifica del codice, mi da errore, non ne vuole sapere! ma quale è il problema? forse non inizia da 0? o sto dimenticando qualcosa?

A voi esperti la parola!!

Saluti,
Antonio

Il tuo errore è nel non capire la differenza fra l'INIZIALIZZAZIONE dell'array e l'INDICIZZAZIONE dei suoi membri.
Quando lo dichiari devi dargli la DIMENSIONE.

int nomearray[8]={10,20,30,40,50,60,70,80,90}; //ERRORE: array di 8 celle ma 9 valori 
int nomearray[9]={10,20,30,40,50,60,70,80,90};  //GIUSTO: array di 9 celle con 9 valori
int nomearray[8]={10,20,30,40,50,60,70,80}; //GIUSTO: array di 8 celle con 8 valori

Quando invece vuoi accedere ad un elemento, i valori ammessi sono
0...NUMERO ELEMENTI - 1
Quindi nel caso precedente per accedere al 1° elemento usi 0, per accedere all'ultimo usi 9-1=8.