gpt4 book ai didi

c - 如何在c中实现(PHP函数)array_map函数?

转载 作者:行者123 更新时间:2023-11-30 21:29:08 24 4
gpt4 key购买 nike

所有,我想用c语言实现array_map函数。我该怎么做?

void * x_array_map(void * func, Array * arr){
//TODO
}

谢谢!

最佳答案

这里是一些关于函数作为参数的引用,

How do you pass a function as a parameter in C?

这是我的代码:

#include <stdio.h>
#include <stdlib.h>

#define param_type int

// prototype
param_type* array_map (param_type (*f)(param_type), param_type* arr, int n);

// dummy function
int cube(int x) {
return x*x*x;
}

int main (){
int a[3] = {1, 2, 3};
int* b = array_map(cube, a, 3);
for (int i = 0; i < 3; ++i) {
printf("%d\n", b[i]);
}
return 0;
}

param_type* array_map (param_type (*f)(param_type), param_type* arr, int n) {
param_type* result = (param_type*) malloc(n*sizeof(param_type));
for (int i = 0; i < n; ++i)
result[i] = f(arr[i]);
return result;
}

关于c - 如何在c中实现(PHP函数)array_map函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33885163/

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