如何爲結構數組指針動態分配內存。例如:我有一個結構數組指針,它的大小爲1024,但是如果我需要增加大小如何去做? 我需要動態定義arr大小。對於初始化,我保持大小爲1024. 我需要增加空間後,當它多於分配,如何增加它?C指針動態分配
Q
C指針動態分配
0
A
回答
1
realloc()
。類似於
struct foo *ptr;
ptr = malloc(sizeof(*ptr) * 1024);
// later
struct foo *tmp = realloc(ptr, sizeof(*ptr) * 2048);
if (tmp) {
ptr = tmp;
} else {
// something nasty happened
free(ptr);
exit(-1);
}
+0
就像我有像struct abc {}; abc * arr [1024];現在我需要將arr [1024]更改爲2048 – Lincon
+0
你不能那樣做。你可以做的一個類似的事情是可變長度數組,但它仍然不相同。 – 2013-02-02 07:25:20
1
對於動態內存分配,使用array implemented using linked lists
將有所幫助。 您可以使用malloc()
函數爲現有結構節點分配內存。
如果你想要一個結構對象中的數組增加它的內存,那麼你可以使用鏈表而不是數組裏面的結構。
相關問題
- 1. 動態分配字符指針,指針
- 2. 分配結構指針分配/釋放動態數組用C
- 3. C指針分配
- 4. C++指針分配
- 5. C++指針指向的類的副本的動態分配
- 6. 無指針的C++動態內存分配 - 指針的指向是什麼?
- 7. 用雙指針動態分配
- 8. 動態分配指針數組
- 9. Mips動態內存分配和指針
- 10. 動態分配地圖指針值
- 11. 的Javascript動態指針分配
- 12. 指針和動態內存分配
- 13. 指針 - 動態分配混淆
- 14. 指針動態分配(核心轉儲)
- 15. std ::複製動態分配的指針
- 16. 使用指針動態分配數組
- 17. 指針和動態分配數組
- 18. 動態分配指針數組中的懸掛指針
- 19. 雙指針,動態分配和使用指針數組
- 20. (Visual C++)刪除指針後動態分配內存不是有效指針
- 21. C++分配節點指針
- 22. Objective-C未分配指針
- 23. std :: wstring指針分配C++
- 24. C函數指針分配
- 25. C中的指針分配
- 26. C++智能指針指向靜態和動態分配的資源
- 27. 動態分配的指針數組結構用C
- 28. C外部結構指針動態分配
- 29. 如何在C++中動態分配指針數組?
- 30. 如何動態分配指針的二維數組? (C)
你能發佈結構聲明/定義嗎? –