byte con stato dei pin input

Odio gli array.
Pur lavorando con i PLC (automazioni industriali), odio array e puntatori, quindi ti ringrazio ma ho solo semplificato il codice come suggerito dal leo.
Ora un altro dubbio solo di ottimizzazione senza aprire un altro Topic.
devo far eseguire 2 parte di codice separate a seconda di un input
-uso il goto label
-oppure mi eseguo la funzione che mi serve

void loop() {
if (digitalRead(micro)==HIGH) {
 corretto();
}else{
erratto();
}
}