c中可变大小的数组

问题描述 投票:0回答:1

我下面有这段代码,它创建了一个可变大小的数组,该数组可以在我的mac上编译并正常运行。

#include <stdio.h>
#include <stdlib.h>

int main(){
    int w = 100;
    int ar[w];
    ar[2] = 42;
    printf("%d\n",ar[2]);
}

我以为C中不允许使用可变大小的数组。这到底是怎么回事?如何管理内存?是否在运行时动态分配内存?谢谢

c arrays
1个回答
1
投票

这里发生的是可变长度数组是一个相对较新的功能,仅在1999年才出现在C标准中。C标准在C世界中的接受度不如JavaScript和Python;我记得2007年左右的激动,当时我的工作流程终于能够包含VLA。

© www.soinside.com 2019 - 2024. All rights reserved.