它是强制性的,在分配时,我们应该提到的数组大小,而编写程序
在让我们C它提到,“分配一个数组时,我们必须提交在编写程序时的数组大小”。但是在下面的代码中,我在执行时给出了大小,但仍然在运行,所以这是正确的?它是强制性的,在分配时,我们应该提到的数组大小,而编写程序
代码:
所有的#include <stdio.h> void main(){
{
int n,i;
printf("give the size of the array \n");
scanf("%d",&n);
int a[n];
printf ("give array elements\n");
for (i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
}
回答:
首先,我认为你的意思声明而不是分配。
也就是说,这叫做variable length array或VLA。这是一个C99以上的增加。
引用C11
,章§6.7.6.2/ P4
如果尺寸是整数常量表达式 和元素类型具有已知的恒定大小,阵列类型不是可变长度 阵列型;否则,数组类型是可变长度数组类型。
回答:
这是一个variable-length array并且在C中是完全有效的(自C99标准以来)。
您应该更新您的书籍。 Here's a list of good ones。
以上是 它是强制性的,在分配时,我们应该提到的数组大小,而编写程序 的全部内容, 来源链接: utcz.com/qa/263052.html