或者更一般的问题:我如何在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]);
}
答案 0 :(得分:2)
你做不到。创建阵列时会设置数组大小,以后不能更改。如果您确定需要更多空间,则必须创建一个更大的新阵列。
如果你想要可以调整大小的东西,你将不得不使用除数组之外的东西。也许创建一个链表。
答案 1 :(得分:2)
如果仅在运行时知道数组的大小,则必须声明指针并动态分配内存。
但是,如果您的需求能够增加容量,那么您将不得不采用一些动态数据结构,例如链表。它允许您添加新节点(它可以包含您希望它保存的任何数据)。