2012-03-10 60 views
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]); 
} 
+0

通過(重新)分配一個足夠容納所有元素的新數組。 – AusCBloke 2012-03-10 05:07:35

+0

你應該對你的問題更具體。寫一個例子,並寫出一個特定於該例子的問題。我想如果你這樣做,你可能會回答你自己的問題 – 2012-03-10 05:11:58

+0

但是如果數組大小是動態的呢? – Petiatil 2012-03-10 05:12:46

回答

2

你不行。數組大小是在創建數組時設置的,以後不能更改。如果您決定需要更多空間,則必須創建一個新的更大的陣列。

如果你想要調整大小的東西,你必須使用非數組的東西。也許創建一個鏈表。

2

如果僅在運行時才知道數組的大小,則必須聲明一個指針並動態分配內存。

但是,如果您的需求是可以增加容量的東西,您將不得不去尋找一些動態數據結構,如鏈接列表。它將允許你添加新的節點(它可以包含任何你想要的數據)。

相關問題