Tableau de fonctions ?

Pour mes lunettes lumineuses, je vais faire des animations de LEDs. Ces animations seront des fonctions, avec des arguments (possiblement le même nombre et le même type si ça peut aider) et elles seront appelées de manière aléatoire.

Je pourrais faire une suite de if ou un switch / case, mais je sens qu'il doit être possible de faire plus compliqué mieux... Un tableau de fonctions, ou plutôt de pointeurs de fonctions. Du coup si ça marche, après tirage du nombre aléatoire N, je n'ai qu'une seule ligne à écrire qui appelle la fonction N avec les arguments N.

Est-ce possible, et comment faire ?

Oui c’est possible - plein d’exemples Sur le web (chercher « array of function pointers in C »)

Je viens de poster un exemple ici.

Il n'y a pas d'arguments dans les fonctions de l'exemple ci-dessus, mais en rajouter n'est pas un problème si toutes les fonctions dont on met l'adresse dans le tableau ont le même prototype.

Exemple : un tableau mémorisant des adresses de fonctions acceptant 2 int en argument et retournant un char :

Définition :

char (*myArrayOfFunctions[])(int, int) = { f1, f2, f3 }; // avec char f1(int, int), ...

Utilisation :

char r=myArrayOfFunctions0; // f1(2,3) sera appelée

Et si mes fonctions sont void, comment je définis le tableau ?
... OK, vu dans l'exemple