char k;
typedef void(*fptr)();
fptr t[65535];
void a(){k='a';}
void b(){k='b';}
void c(){k='c';}
void* (func)();
void main ()
{
memset(t,0,sizeof(t));
t[0]=&a;
t[1]=&b;
t[2]=&c;
unsigned short i;
cin>>i;
//ключевой кусок
t[i] ? t[i]() : t[i];
printf("k=%c",k);
//конец ключевого куска
_getch();
}
if(t[i]!=NULL){
g =(void(*)()) t[i];
g(); //или g(); - аналогично
printf("k=%c",k);
}
t[i] ? t[i]() : t[i];