如何将ADDITIONAL结构添加到结构数组的末尾?在C.

时间:2012-03-10 05:05:57

标签: c arrays append

或者更一般的问题:我如何在C的数组末尾添加一个额外的元素?

int i;

int arr[5] = {1,2,3,4,5};
int len = 5;

for( i = len-1; i >= 0; i++)
{
    scanf("%d",&arr[i+1]);
    printf("%d",arr[i+1]);
}

2 个答案:

答案 0 :(得分:2)

你做不到。创建阵列时会设置数组大小,以后不能更改。如果您确定需要更多空间,则必须创建一个更大的新阵列。

如果你想要可以调整大小的东西,你将不得不使用除数组之外的东西。也许创建一个链表。

答案 1 :(得分:2)

如果仅在运行时知道数组的大小,则必须声明指针并动态分配内存。

但是,如果您的需求能够增加容量,那么您将不得不采用一些动态数据结构,例如链表。它允许您添加新节点(它可以包含您希望它保存的任何数据)。