gpt4 book ai didi

c - 如何创建在内存中分配的数组

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

我使用下面的代码来创建动态内存。

unsigned int *mem  ;
mem = (unsigned int*) malloc(mallocSize);

但是,我更喜欢创建一个指针数组。每个指针都会链接到其中一个内存块。

最佳答案

but I prefer to create an array of pointers each pointer links to one of the memory block above

unsigned int **mem = (unsigned int **)malloc(sizeof(unsigned int *) * number_of_pointers);
// memset(mem, NULL, sizeof(unsigned int *) * number_of_pointers); // recommend it but not needed here, we always set NULL for safety.
for (int index = 0; index < number_of_pointers; index++)
mem[index] = (unsigned int *)malloc(sizeof(unsigned int) * number_of_ints);

访问单个元素mem[row_index][column_index]

取消分配,减少或消除内存泄漏。

for (int index = 0; index < number_of_pointers; index++)
free(mem[index]);
free(mem);

根据经验,无论如何,对我来说,free 应该像 malloc 一样频繁地调用

关于c - 如何创建在内存中分配的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11464956/

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