2 Créer un tableau de fonctions dynamiques

Pour créer un tableau dynamique nous allons utiliser... malloc évidement.

Mais je pensais que les fonctions ne pouvaient pas êtres utilisées avec un void*, et pourtant, malloc renvoie bien un void* ?

Sur le coup ça parait blizzard, mais il ne s’agit pas de fonctions, mais d'un tableau de pointeurs de fonctions, donc des données, donc c'est cohérent.

Voici la syntaxe pour créer un tableau de fonction dynamique :

1
2
3
4
5
typedef void (*TypeFonction)(void);

...

TypeFonction* parole = malloc(sizeof(TypeFonction)*3);

C'est là que vous voyez l'utilité du typedef. Et bien sûr, notre tableau dynamique se désalloue comme n'importe quel tableau dynamique :

1
free(parole);

Et voilà, vous savez tout, il n'y a plus qu'a faire quelques exemples pour que tout soit vraiment clair.