Tipi personalizzati.
Il linguaggio ha uno strumento typedef che ti consente di creare il tuo tipo di dati basato su un altro standard. Per che cosa? Da un lato per comodità del programmatore, dall'altro per confonderlo. Quindi, typedef funziona in questo modo: typedef type name; - creare un nuovo nome per il tipo di dati in base al tipo.
Esempio: typedef byte color;
Crea un tipo di dati chiamato color, che sarà esattamente lo stesso di byte (ovvero, accetta 0-255). Ora puoi creare variabili con questo tipo: color R, G, B;
Create tre variabili di tipo color, che è lo stesso byte, solo nel profilo. Questo è tutto!
C'è un altro punto importante riguardo a struct ed enum: nel codice vedrai spesso typedef usati prima di struct ed enum. In C puro, questo ha molto senso, ma in C++ è il contrario. typedef nel firmware arduino è utilizzato dai programmatori che provengono da C e per abitudine usano typedef in C ++.
Nel linguaggio C, quando si crea una struttura/enum per etichetta, è necessario scrivere la parola struct/enum prima dell'etichetta, altrimenti si verificherà un errore. Oppure la struttura stessa deve essere dichiarata come typedef. In C++ (e su Arduino) questo non è necessario! Al contrario, un typedef in questa applicazione può causare errori.