我实际上正在使用 C 语言进行分配,并且为了实现我的需要,我需要使用静态数组,比方说
static int array[LEN];
诀窍是这个数组长度 ,LEN
是在main()
. 例如
static int LEN;
void initLen(int len) {
LEN = len;
}
static int array[LEN];
Where 在initLen
中被调用main
,并len
使用用户给出的参数计算。
这个设计的问题是我得到了错误
threadpool.c:84: error: variably modified ‘isdone’ at file scope
错误是由于我们无法使用变量作为长度来初始化静态数组。为了让它工作,我定义了一个LEN_MAX
并写
#define LEN_MAX 2400
static int array[LEN_MAX]
这种设计的问题是我暴露自己的缓冲区溢出和段错误:(
所以我想知道是否有一些优雅的方法来初始化具有确切长度的静态数组LEN
?
先感谢您!