1 Utilisons un tableau statique en C

Et paf, un exemple tout de suite :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>

typedef void (*action_t)(void);

void bonjour(void){
	printf("bonjour\n");
}

void aurevoir(void){
	printf("au revoir\n");
}

void merci(void){
	printf("merci\n");
}

int main(int argc, char** argv){
	action_t parole[]={bonjour, aurevoir, merci};
	unsigned int i;
	for(i = 0; i < 3; ++i){
		parole[i]();
	}
	return 0;
}

N'oubliez surtout pas les () à la fin de la ligne 21, cela veut dire que vous appelez effectivement la fonction. Si vous ne les mettez pas, vous n'aurez pas d'erreurs, juste un warning qui vous dire que la ligne 21 ne fait rien (main.c:21:3: attention : statement with no effect [-Wunused-value]), si bien sûr vous avez activé les warnings.

Maintenant on compile avec gcc :

gcc -Wall main.c -o test

Et on regarde ce que ça donne :

./test 
bonjour
au revoir
merci

On peut dire que tout c'est passé comme prévu.