c语言数组创建数组长度获取

c语言创建数组的时候

int test(int l,int r){
  int temp[r-l];   //创建数组
}
int main(){
int r = 4,l=0;
test(l,r);
}

我这个创建数组的时候,在mac使用vscode是可以创建出来的(改为l-r就无法创建了)
但是在win vs中就会报错,c语言是无法创建变长数组的吗?
c++可以创建变长数组的吗?

用 vector

img

r是一个变量,变量是不能用来定义数组,常量才可以。

vs2019不可以使用不完全参数,创建时须指明参数