我知道在VS中,所有的变量都必须在代码块的顶部声明。但是如果我想要一个可变长度数组,例如,如果我想要做这样的事情:
int result = runalgorithm();
int vla[result];
上述代码是无效的,因为
vla
必须在顶部声明。除了创建任意大的数组外,还有什么好的解决方案吗?我知道在VS中,所有的变量都必须在代码块的顶部声明。但是如果我想要一个可变长度数组,例如,如果我想要做这样的事情:
int result = runalgorithm();
int vla[result];
vla
必须在顶部声明。除了创建任意大的数组外,还有什么好的解决方案吗?
int* vla = malloc ( result * sizeof *vla);
的意思是申请一个大小为result * sizeof *vla
的内存空间,并将其地址赋值给指针变量vla
。在使用完毕后,需要使用free(vla)
释放该内存空间。 - Spikatrix