gpt4 book ai didi

c - malloc内存分配

转载 作者:行者123 更新时间:2023-11-30 14:21:57 25 4
gpt4 key购买 nike

我有一个初学者问题我需要将指针传递给函数,然后为该指针分配动态内存。我在主函数中创建指针,然后将其传递给应该分配内存的特定函数。但我收到此错误:“在此函数中可以使用未初始化的 hist_array”

这是程序中的相关行:从主要:

    int* hist_array;
fillHistogram(first_image,hist_array,max_value+1);

功能:

    void fillHistogram(int image[M][N], int* hist, int histLen){
hist=(int*)malloc(sizeof(histLen)*(histLen));

我无法更改函数的签名,它是作为结构化文件提供给我们的。所以我想知道我做错了什么。

还有一个问题。我用 malloc 创建的新数组,我希望它的所有值在开始时都是 0。我该如何以最短的方式做到这一点?

最佳答案

其意图似乎是调用代码将在调用 fillHistogram 之前进行分配。

您的解决方案的问题在于 fillHistogram 中的 hist 是您传入的指针的副本。当您更改副本时,原始副本仍未初始化。

你可能指的是sizeof(int)*histLen

关于c - malloc内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14288791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com