C语言可以通过函数指针来调用函数,可以将要调用的函数名保存到数组中。这样我们可以通过参数来直接调用函数了。
#include <stdio.h>
#define FUNCTIONSIZE 2
typedef unsigned char uint8_t;
uint8_t function1(uint8_t *data, uint8_t len)
{
printf("\r\n fuction1 \r\n");
}
uint8_t function2(uint8_t *data, uint8_t len)
{
printf("\r\n fuction2 \r\n");
}
static uint8_t (*function[FUNCTIONSIZE])(uint8_t *data, uint8_t len) = {function1, function2};
int main()
{
int i = 0;
int j = 1;
function[i](NULL, 1);
function[j](NULL, 1);
getchar();
}