С вершины моей головы и непроверенной.
// create array of pointers to functions
void (*functions[256])(void) = {&function0, &function1, &function2, ..., };
// copy pointers to struct
int i;
for (i = 0; i < 256; i++) struct.functions[i] = functions[i];
EDIT: Исправлена синтаксическая ошибка, как сказал Крис Лутц.