C语言 设置用户定义的数组大小

ix0qys7i  于 2022-12-17  发布在  其他
关注(0)|答案(1)|浏览(84)

我正在写一个程序,我遇到了一个问题,我不能根据用户的喜好设置数组大小。我知道这是一个与指针相关的问题。

#include <stdio.h>

int main() {
    int length;
    scanf_s("%d", &length);
    int array[length]; //"expression must have a constant value"
}
xoefb8l8

xoefb8l81#

VLA是可选的,MS编译器不支持,需要动态分配数组:

int *array = malloc(length * sizeof(*array));

使用后需要手动free

free(array);

相关问题