например, есть функции a1(), a2(), a3()
и массив mas из трёх элементов
и в зависимости от того, к какому элементу массива мы обращаемся - вызывать определенную функцию
Код: Выделить всё
typedef void (*func_ptr)(void); // описали тип "указатель на функцию"
// определили функции
static void f1(void){
...
}
static void f2(void){
...
}
// определили массив из указателей на эти функции
static func_ptr farr[2] = {f1, f2};
// пользуемся
farr[0](); // вызываем ф-ю f1Код: Выделить всё
typedef void (*func_ptr)(int);Код: Выделить всё
typedef void (*func_ptr)(void); // описали тип "указатель на функцию"
static void nf(unsigned char x){}
static void fu(unsigned char x){}
static void fd(unsigned char x){}
static void fl(unsigned char x){}
static void fr(unsigned char x){}
static func_ptr farr[4] = {fu(0),fd(0),fl(0),fr(0)};
рискуете нарваться на желающих запинать из добрых побужденийspongebob писал(а):п.с. я обучаемый малый, меня только подпнуть в верном направлении надо...
+100.ARV писал(а):рискуете нарваться на желающих запинать из добрых побужденийspongebob писал(а):п.с. я обучаемый малый, меня только подпнуть в верном направлении надо...
Код: Выделить всё
...
static func_ptr farr[4] = {fu(0),fd(0),fl(0),fr(0)};
...
Код: Выделить всё
...
static func_ptr farr[4] = {fu,fd,fl,fr};
...
Код: Выделить всё
...
// пользуемся
farr[0](0); // вызываем ф-ю fu с аргументом "0"