首页 > 解决方案 > 将数组作为参数传回

问题描述

所以我需要能够将我在函数内部创建的这个结构数组作为参数传回,而不是返回值,我不知所措。有人可以告诉我这样做的最佳方式吗?谢谢!

int calcHistogram(char** arr, Histogram* h,  int count) {

  Histogram* hist = (Histogram*)malloc(count*sizeof(Histogram));
  int hCount = 0;

  // Code that works
  
  h = hist;
  return hCount;
}

标签: c

解决方案


也许您需要这样的功能:

int createHistogram(char **arr, Histogram **h, int count) {
    Histogram *hist = (Histogram *)malloc(sizeof(Histogram) * count);
    int hCount = 0;

    // Code that works

    *h = hist;
    return hCount;
}

然后你可以声明一个指针

Histogram *h;

然后打电话

createHistogram(arr, &h, count);

将直方图数组的地址存储到h.


推荐阅读