需要帮助创建可变长度数组

时间:2016-09-29 18:39:24

标签: c arrays variables visual-studio-2015 global

#include<stdio.h>

int main()
{
    int row, col;
    printf("Enter rows and columns for your grid");
    scanf_s(" %i%i", &row, &col);
    int Array[row][col];
    return 0;
}

这是我的编程讲师给我们的例子,但我无法让它工作。我的编译器(Visual Studio 2015)一直给我错误C2131“表达式没有评估为常量”是否有任何方法可以使这个工作?

2 个答案:

答案 0 :(得分:1)

VLA是C99功能,而MSVC支持C89。根据{{​​3}}:

  

Visual C ++目前不支持可变长度数组。

答案 1 :(得分:0)

您必须使用malloc

使用动态内存分配
int **Array;
Array = malloc(sizeof(int*)*row);
for(int i=0;i<row;i++)
Array[i] = malloc(sizeof(int)*col);