Preselettore BCD e salto nel programma

In realtà non serve nemmeno uno statement "switch"

basta creare le N funzioni, tutte con la stessa "firma"

creare un array di puntatori a funzione

eseguire la funzione puntata dal puntatore indicato dall'indice

magia, lavoro fatto....

per esempio, scritto al volo qui, non necessariamente tutto giusto


// le funzioni 
void f1(){....
void f2(){...
// e via così....


// l'array di puntatori a funzione
typedef void(* fpunt)();
fpunt elenco[]=f1,f2,f3....;

// e poi quando si conosce l'indice basta "mandare in esecuzione" la funzione

* elenco[indice]();

// questa riga è la "vera" sostituta in C del "on X gosub ...." del vecchio basic

2 Likes