C程序分配超出数组长度限制的值

时间:2014-04-09 06:50:03

标签: c arrays

以下代码将打印arr[1]arr[5]

int arr[5], i=0;
while(i<5){
    arr[i]=++i;
    printf("%d, ", arr[i]);
}

我的问题是一个固定长度的数组:我们可以在没有任何限制的情况下添加一个新元素吗?

1 个答案:

答案 0 :(得分:6)

  

我们可以在没有任何限制的情况下添加新元素吗?

不,你不能那样做。数组是你在问题中提到的固定大小,固定的东西意味着它不能被改变。如果需要可以增长的数据结构,可以创建链接列表。

此代码也会调用未定义的行为:

arr[i]=++i;

请通过 - Why are these constructs undefined behavior?