作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所有,我想用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/
我是一名优秀的程序员,十分优秀!