如何使用数组调用函数?

时间:2019-06-02 09:39:38

标签: c arduino

我希望能够从数组中调用函数并同时传递参数。

喜欢

void func(int a, int b) {
    printf("%d\n", a+b);
}

void array[] = { func(4,5), func(1,2), func(3,7) };// This is an array of function calls


int main() {
    array[0];
    return 0;
}

应该打印出9。

存在arduino标签的原因是它将在arduino中使用

2 个答案:

答案 0 :(得分:1)

我不明白这个问题,但是您可以使用函数来初始化局部变量

int foo1(int x, int y)
{
    return x+y;
}

int foo2(int x, int y)
{
    return x*y;
}

int foo3(int x, int y)
{
    return x^y;
}

int (*array[])(int, int) = {foo1,foo2,foo3};

int main()
{
    printf("%d\n", array[2](5,8));

    return 0;
}

https://godbolt.org/z/WQuXZH

您还可以具有函数指针数组

Animal

答案 1 :(得分:-1)

简短的回答是“您不这样做”。如果要调用函数,则必须使用函数调用运算符()

相关问题