gpt4 book ai didi

c - C从什么时候开始使用变长数组的?

转载 作者:太空宇宙 更新时间:2023-11-04 00:18:59 25 4
gpt4 key购买 nike

请告诉我为什么以下代码甚至可以在 strict C-99 编译器 上运行:

#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a[n];
a[1]=10;
a[2]=5;
printf("%d %d",a[1],a[2]);
}

变量声明必须出现在 C 中的任何其他语句之前,对吗?如果我们想要一个动态分配的数组,我们必须使用像 malloc() 这样的内存分配函数,但它为什么要输入整数并分配那个大小的数组呢?

最佳答案

这被称为 variable-length array , 并受 C99 标准支持。
这在 C89 或任何版本的 C++ 中不起作用。

关于c - C从什么时候开始使用变长数组的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11516351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com