void (*isr_handle_array[50])(void); Por favor, comprenda cómo entender esta declaración.
Esta es una matriz de punteros de función. Quítelo capa por capa.
Esta es una matriz de punteros de función. El valor de retorno de estas funciones es nulo y los parámetros también lo son. Si observa [50] en el interior, sabrá que se trata de una matriz. Si observa los punteros de función en el exterior, se suman a una matriz de punteros de función. Escribiré el código fuente y lo entenderás. #include?lt; stdio.hgt;
Esta es la matriz de puntero de función en su pregunta
void?(*isr_handle_array[50])(void);?
// Esta es una función con dos valores de retorno y el parámetro void también es void
void?hello(void)?{?printf?("hello?");}
¿vacío?mundo(vacío)?{?printf("mundo/n");}
int?main()
{
/ Aquí, las direcciones de las funciones hello? y world se guardan en una matriz
isr_handle_array[0]?=?hello;
isr_handle_array[1]?=?world;
p>
//Aquí puedes llamar a la función directamente desde la matriz.
isr_handle_array[0]();
isr_handle_array[1]();
retorno?0; >
Ejecutar de la siguiente manera: