或更一般的問題:我將如何追加一個額外的元素到C中數組的末尾?我如何在結構數組的末尾添加一個ADDITIONAL結構?在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]);
}
或更一般的問題:我將如何追加一個額外的元素到C中數組的末尾?我如何在結構數組的末尾添加一個ADDITIONAL結構?在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]);
}
你不行。數組大小是在創建數組時設置的,以後不能更改。如果您決定需要更多空間,則必須創建一個新的更大的陣列。
如果你想要調整大小的東西,你必須使用非數組的東西。也許創建一個鏈表。
如果僅在運行時才知道數組的大小,則必須聲明一個指針並動態分配內存。
但是,如果您的需求是可以增加容量的東西,您將不得不去尋找一些動態數據結構,如鏈接列表。它將允許你添加新的節點(它可以包含任何你想要的數據)。
通過(重新)分配一個足夠容納所有元素的新數組。 – AusCBloke 2012-03-10 05:07:35
你應該對你的問題更具體。寫一個例子,並寫出一個特定於該例子的問題。我想如果你這樣做,你可能會回答你自己的問題 – 2012-03-10 05:11:58
但是如果數組大小是動態的呢? – Petiatil 2012-03-10 05:12:46