gpt4 book ai didi

c - 函数参数中的函数指针

转载 作者:行者123 更新时间:2023-11-30 21:00:49 26 4
gpt4 key购买 nike

我有以下功能

unsigned char foo(unsigned char(*fun[])(unsigned char *))

如何向该函数传递参数?

最佳答案

该函数原型(prototype)声明一个函数,该函数将函数指针数组作为参数。每个函数指针必须具有类型 unsigned char function_name(unsigned char *)

例如,您可以这样做:(更改传递的参数以简化示例)

#include <stdio.h>

unsigned char dummy(char *dummypar)
{

printf("Dummy: %s\n", dummypar);

return 0;
}

unsigned char dummy2(char *dummypar)
{
printf("Dummy2: %s\n", dummypar);

return 0;
}

unsigned char foo(unsigned char(*fun[])(char *))
{
char *test = "test";
size_t i = 0;

while (fun[i] != NULL)
{
fun[i](test);

i++;
}

return 0;
}

unsigned char(*array[])(char *) = { dummy, dummy2, NULL };

int main ( void )
{
foo(array);
}

关于c - 函数参数中的函数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38638259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com