modificare in modo dinamico il nome di una variabile

tek-0:
riguardava più che altro l'editing ovvero, la possibilità in generale di gestire i nomi delle variabili in modo interlacciato. Sto cercando un mio modo di organizzare e scrivere il codice ed avendo avuto problemi nell'organizzare e ripulire da variabili orfane o variabili ridondanti cerco un modo per poter avere un maggior controllo e immediata visione

Già tenere dentro le funzioni tutte le variabili locali, lasciando globali solo quelle strettamente necessarie a contenere lo stato condiviso secondo me aiuta a mantenere l'ordine.

E le locali che devono mantenere i valori tra una chiamata e l'altra delle funzioni basta dichiararle static (così ogni funzione può avere una variabile interna 's' per lo stato, 't' per il tempo, 'cnt' per i conteggi ecc. che mantengono i valori come se fossero globali).

Un'altra possibilità sono le struct, che permettono (in quest'ottica) di racchiudere gruppi di variabili dentro una "valigetta" più comoda da "portare in giro", che unisce in un unico contenitore logico variabili legate in qualche modo tra loro:

struct {
    byte hour = 0;
    byte minute = 0;
    boolean enabled = false;
} alarm;
if(alarm.enabled  &&  alarm.minute == now.minute  &&  alarm.hour == now.hour) ...

NOTA: fare attenzione nel passaggio di struct a funzioni di passarle per riferimento (come gli array) e non per valore (perché ne verrebbe creata una copia locale sullo stack).