【问题标题】:How would I ADD AN ADDITIONAL structure to the end of a structure array? in C [closed]我如何在结构数组的末尾添加一个额外的结构?在 C [关闭]
【发布时间】:2012-03-27 11:53:41
【问题描述】:

或更一般的问题:如何在 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]);
}

【问题讨论】:

  • 通过(重新)分配一个足以容纳所有元素的新数组。
  • 您的问题应该更具体。写一个例子,然后写一个特定于那个例子的问题。我想如果你这样做,你可能会回答你自己的问题
  • 但是如果数组大小是动态的呢?
  • @Petiatil:使用realloc()

标签: c arrays append


【解决方案1】:

你不能。数组大小是在创建数组时设置的,以后无法更改。如果您决定需要更多空间,则必须创建一个更大的新数组。

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-06
      • 2014-12-30
      • 1970-01-01
      • 2014-09-03
      • 1970-01-01
      • 1970-01-01
      • 2019-10-14
      • 1970-01-01
      相关资源
      最近更新 更多