gpt4 book ai didi

c - 替换这段代码中的 malloc/free

转载 作者:行者123 更新时间:2023-11-30 15:56:48 25 4
gpt4 key购买 nike

下面的代码存储了tmpbuffer的指针。我如何存储 tmpbuffer 本身而不是像 fwBuffer 这样的数组中的指针,并且不使用 malloc/free

short int *fwBuffer[1000000];

size = sizeof(short int)*length*inchannels;
short int *tmpbuffer = (short int*)malloc(size);

int count = 0;
for (count = 0; count < length*inchannels; count++)
{
tmpbuffer[count] = (short int) (inbuffer[count]);
}

fwBuffer[saveBufferCount] = tmpbuffer;

最佳答案

short int *fwBuffer[1000000];

1000000 类型为 short int 的指针数组。
指针本身是没有用的,除非它指向某个有效的内存,该内存属于一个有效的对象,在本例中是一个 short int 类型的对象。

代码为 short int 分配足够的内存,然后将该指针放入数组中,从而使数组变得有用。这是执行此操作的正确方法,因为您需要 1000000 项,如果在堆栈上分配它们,您可能会耗尽堆栈空间。

关于c - 替换这段代码中的 malloc/free,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10925151/

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