开发者社区> 问答> 正文

c语言malloc 后用*的问题


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移动指针的方式?

展开
收起
a123456678 2016-06-08 21:46:09 1928 0
1 条回答
写回答
取消 提交回答
  • 把这个指针自增,回头free时不是还得减回来

    2019-07-17 19:32:48
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载