В едната колона са указателите, а в другата какво искаш да има?
В общи линии ти трябва нещо такова:
struct table_row {
return_type (*function_name)(arguments...);
type second_column;
}
Някъде си декларираш таблицата( най-често глобална и константна ):
static const struct table_row table_name[SIZE];
П.П. За по-четим код, може да изпозлваш typedef
П.П.П
Пример:
struct table_row {
void (*system_call)( int a, int b );
unsigned int uid;
}
и имаш функции от типа:
void func_name1( int a, int b );
void func_name2( int a, int b );
....
void func_name3( int a, int b );
static const struct table_row table_name[SIZE] = { { &func_nam1, 0 }, { &func_name2, 1 }, ..., { &func_nameN, N } };
Така горе долу изглежда ако знаеш всички указатели предварително и няма да има възмност за динамично добавяне в таблицата. Ако ще има динамично то най-добрее да я реализираш като списък или хеш таблица, вместо като масив