将大小相同的许多静态数组转换为C中的动态分配

时间:2014-07-28 20:38:16

标签: c arrays static dynamic-allocation

我们在C中有一个程序,其中许多(几百个)静态数组定义为相同大小,如:

int Array_1[ARRAY_SIZE];
my_struct_t Array_2[ARRAY_SIZE];
char Array_3[ARRAY_SIZE];
his_struct_t Array_4[ARRAY_SIZE];
.....
.....

通过缩放开发,我需要相应地增加ARRAY_SIZE。但是,为了避免浪费更多内存并逐个手动提升ARRAY_SIZE,我决定将所有相关的静态数组转换为动态分配(链表)。所以每当我需要访问一个静态数组时,我会寻找它的指针并根据需要分配新的内存。

不是手动删除所有静态数组并转换为动态分配,是否有更好,更智能的方法在泛型方法中执行此操作?

我的想法是使用类似get_element(void *head_ptr, size_t struct_size, int idx)的函数来获取基于头指针和结构大小的相关元素。有什么想法?

0 个答案:

没有答案