param_type * x_array_map (param_type (*f)(param_type) ,param_type* array ,int len){
// #define param_type int
param_type * res=(param_type *)malloc(sizeof(param_type)* len);
for(int i=0;i<len;i++){
*res=f(array[i]);//bad
res++; //bad
}
}
当我使用
param_type * x_array_map (param_type (*f)(param_type) ,param_type* array ,int len){
// #define param_type int
param_type * res=(param_type *)malloc(sizeof(param_type)* len);
for(int i=0;i<len;i++){
res[i]=f(array[i]);//good
}
}
这时候是ok的,为什么不能用res移动指针的方式?
上一种用法出现什么问题了吗?把这个指针自增,回头free时不是还得减回来…