Я хочу создать массив указателей на функции void, выделить его память и назначить массивам адреса функции, которую я хочу, чтобы она содержалась. Заявив массив, вы можете присвоить себе элементы в виде списка в скобках, как это:Как выделить память для массива указателей функций void и назначить адреса массиву
const char *array[NUM_OF_ELEMENTS] = {"foo1", "boo2", "foo2", "boo2"}; // etc.
Хорошо. Я объявил массив указателей на аннулированию функции, как показано ниже:
void (*pointerArray)(void) = malloc(NUM_OF_ELEMENTS * sizeof(*pointerArray));
Мой вопрос: Можно ли сначала объявить функцию и одновременно выделить свою память, а затем использовать «форму брекет» из назначая адреса в моем указателеArray, чтобы он фактически указывал на какую-либо функцию? Более общий вопрос: Есть ли способ сделать это быстрый способ, или я должен сделать это долгий путь, как показано здесь:
pointerArray[0] = func1;
pointerArray[1] = func2;
pointerArray[2] = func3; // etc.
с C вы должны сделать это «долгий путь», там» s без возможности инициализации памяти при ее динамическом распределении (кроме нуля с помощью функции 'calloc'). –