tableau de fonctions en paramètre d'une fonction

Merci beaucoup

Je pense que ceci devrait éviter le morcellement de la mémoire ?

char arg10Func (char srt, int i);
char arg11Func (char srt, int i);
char arg12Func (char srt, int i);
char arg13Func (char srt, int i);
char arg14Func (char srt, int i);
char arg15Func (char srt, int i);
char arg16Func (char srt, int i);

char (*foncArg1[])(char, int) =
{arg10Func, arg11Func, arg12Func, arg13Func, arg14Func, arg15Func, arg16Func};

void setup() {

}

void loop()
{
  char i = '0';
  i =  ptr('a', (foncArg1));
  printf("%i\n", i);
  printf("Hello, World!\n\n");
  return 0;
}

char ptr (char str, char (*foncArg1[])(char, int)) {
  int i = 3;


  str = foncArg1[0](str, i);


  return  str;

}
char arg10Func (char srt, int i) {
  return  i + 'a';
}
char arg11Func (char srt, int i) {
  return  'b';
}
char arg12Func (char srt, int i) {
  return  'c';
}
char arg13Func (char srt, int i) {
  return  'd';
}
char arg14Func (char srt, int i) {
  return  'e';
}
char arg15Func (char srt, int i) {
  return  'f';
}
char arg16Func (char srt, int i) {
  return  'g';
}

Il me reste plus que ca trouver comment retourner un tableau de char à la fin des fonctions !