繁体   English   中英

C中的变长数组

[英]Variable-length array in C

初始化数组时是否可以声明变量?

例如:

#include <stdio.h>

main()
{
    int x;
    int arr[x];
    
    scanf("%i", &x);
}

或者可能是类似的东西?

任何帮助,将不胜感激。

一般来说,你可以写

int x;
scanf("%i", &x);
int arr[x];

在这种情况下,数组arr将是一个可变大小的数组。 x的值应大于 0。

否则在这种情况下

int x;
int arr[x];

变量x未初始化(因为它是一个具有自动存储持续时间的变量),因此数组声明会调用未定义的行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM