如何在C中初始化列表?

如何在C中初始化列表?,c,C,我需要保留一个列表来模拟内存管理。程序为某个进程分配一定数量的字节-这些进程都是假的,因为没有实际的进程,但基本上我认为我需要的只是一个整数列表 目前我有: #define ALLOCSIZE #define *int[ALLOCSIZE] 我想这是对的?我的C类有一个方法: initialize_memory(int size) { } 我不想使用任何花哨的东西,我只想要一个整数列表 删除定义,此处不需要它们 使用calloc: int* memory = (int*)calloc(by

我需要保留一个列表来模拟内存管理。程序为某个进程分配一定数量的字节-这些进程都是假的,因为没有实际的进程,但基本上我认为我需要的只是一个整数列表

目前我有:

#define ALLOCSIZE
#define *int[ALLOCSIZE]
我想这是对的?我的C类有一个方法:

initialize_memory(int size)
{

}

我不想使用任何花哨的东西,我只想要一个整数列表

删除定义,此处不需要它们

使用calloc:

int* memory = (int*)calloc(bytes, sizeof(int));
完成后,您需要释放此内存:

free(memory);
请参阅:

如果数组(不是列表)的大小是在运行时确定的(即,它在代码中不是常量),则必须按如下方式对列表进行malloc:

unsigned char *g_array;
initialize_memory(size_t bytes)
{
  g_array = calloc(bytes);
}

这将使g_数组指向一大块内存
字节
大。

定义
?你的意思是定义吗?你需要读一本C语言书或教程!我想你的问题是指数组而不是列表。C中没有类不是面向对象语言。固定了你的OP。但是在C.没有类,这是关于C++的吗?这是在我的初始化内存块中吗?我不需要在header中预先重写除int*list之外的任何内容?Calloc返回一个指向新内存(通常可以用作数组)区域的指针,您需要一个int*变量来存储地址。我建议避免使用globals。在main()中定义它并将其作为参数传递给任何需要它的函数通常会更好。您需要#包括以使calloc可用。