c - 将数组作为参数传回
问题描述
所以我需要能够将我在函数内部创建的这个结构数组作为参数传回,而不是返回值,我不知所措。有人可以告诉我这样做的最佳方式吗?谢谢!
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;
}
解决方案
也许您需要这样的功能:
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
.