LINUX.ORG.RU

callback functions + malloc [С]


0

1

Есть несколько функций с разными входящими параметрами, их количество неизвестно Я решил замутить вот такой вот массивчек указателей void (**fn)(void)

Как правильно выделить память под него ?

★★★★★
        void (*func_ptr)(void);
        void (**fn)(void) = malloc(N*sizeof(func_ptr));
ttnl ★★★★★
()

typedef void (*fn)(void);

fn *functions = calloc (array_size, sizeof(fn));

Slavaz ★★★★★
()

Достаточно создать массив эллементов типа void*, а потом уже приведёшь тип.

nikitos ★★★
()

Спасибо всем

deterok ★★★★★
() автор топика
void (**fn)(void);
...
*(void **) (&fn) = calloc(n, sizeof *fn);
arsi ★★★★★
()

А не так

void (*fn)(void) - указатель на функцию без аргументов.

void (*fn)() - указатель на функцию с произвольным набором аргументов.

и массив указателей будет void (**fn)()

rg-400
()

> Есть несколько функций с разными входящими параметрами, их количество неизвестно Я решил замутить вот такой вот массивчек указателей void (**fn)(void)

А где здесь у тебя указатель на функцию с разными входящими параметрами?

anonymous
()
Ответ на: комментарий от anonymous

Вообще, мне нужен был общий пример

deterok ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.