J'ai une petite question.
J'essaie de définir dynamiquement un tableau de pointeurs de fonction avec calloc
.
Mais je ne sais pas comment écrire la syntaxe.
Merci beaucoup.
Réponses
Trop de publicités?
Andres
Points
2253
je mets un petit exemple ici qui pourra t'aider
typedef void (*fp)(int); //Declares a type of a void function that accepts an int
void test(int i)
{
printf("%d", i);
}
int _tmain(int argc, _TCHAR* argv[])
{
fp function_array[10]; //declares the array
function_array[0] = test; //assings a function that implements that signature in the first position
function_array[0](10); //call the cuntion passing 10
}
pmg
Points
52636
En supposant que toutes vos fonctions sont de type void ()(void)
, quelque chose comme ça
typedef void (*fxptr)(void);
fxptr *ptr; // pointer to function pointer
ptr = malloc(100 * sizeof *ptr);
if (ptr) {
ptr[0] = fx0;
ptr[1] = fx1;
/* ... */
ptr[99] = fx100;
/* use "dynamic array" of function pointers */
free(ptr);
}
Armen Tsirunyan
Points
59548