Я читаю код проекта, и я нашел часть, которую я не мог понять:Значение кода C фрагмент
void (*pEpInt_OUT[7])(void) =
{
EP1_OUT_Callback,
EP2_OUT_Callback,
EP3_OUT_Callback,
EP4_OUT_Callback,
EP5_OUT_Callback,
EP6_OUT_Callback,
EP7_OUT_Callback,
};
Является ли это функция? Если да, как его зовут? Или что-то еще?
Это массив указателей функций. Имя массива - 'pEpInt_OUT', оно состоит из 7 записей, и каждая запись содержит указатель на функцию, которая не принимает аргументов и не возвращает никакого значения. –
Это похоже на то, что вы нашли код реального мира для старого quip: «C не так сложно: void (* (* f [])())() определяет f как массив неуказанного размера, указателей на функции которые возвращают указатели на функции, возвращающие пустоту ». –
Еще один интересный вопрос: почему этот пост был проголосован 3 раза? Он правильно отформатирован, OP конкретно упоминает, что он или она не может понять данный фрагмент кода, и в нижней части сообщения показано дополнительное усилие. Как еще OP получит ответ на этот вопрос? Похоже, это не похоже на то, что будет работать. –