我正在写一个程序,我遇到了一个问题,我不能根据用户的喜好设置数组大小。我知道这是一个与指针相关的问题。
#include <stdio.h> int main() { int length; scanf_s("%d", &length); int array[length]; //"expression must have a constant value" }
xoefb8l81#
VLA是可选的,MS编译器不支持,需要动态分配数组:
int *array = malloc(length * sizeof(*array));
使用后需要手动free
free
free(array);
1条答案
按热度按时间xoefb8l81#
VLA是可选的,MS编译器不支持,需要动态分配数组:
使用后需要手动
free