Có thực hiện dynamic array trong glibc hoặc bất kỳ thư viện Linux chuẩn nào cho C không? Tôi muốn có thể thêm vào danh sách mà không phải lo lắng về kích thước của nó. Tôi biết std :: vector tồn tại cho C + +, nhưng tôi cần C tương đương.Có khả năng tự động thay đổi kích thước mảng/mảng động cho C đi kèm với glibc không?
Trả lời
Tôi đoán bạn đang nghĩ đến realloc. Nhưng nó tốt hơn để quấn một danh sách trong một cấu trúc để theo dõi chiều dài hiện tại của nó
Ví dụ API
struct s_dynamic_array {
int allocated; /* keep track of allocated size */
int usedLength; /* keep track of usage */
int *array; /* dynamicaly grown with realloc */
};
typedef struct s_dynamic_array s_dynamic_array;
s_dynamic_array *new_dynamic_array(int initalSize);
void free_dynamic_array(s_dynamic_array *array);
int size_of_dynamic_array(s_dynamic_array *array);
s_dynamic_array *add_int_to_dynamic_array(s_dynamic_array *array, int value);
int int_at_index(s_dynamic_array *array, int index);
tôi luôn luôn sử dụng realloc cho điều này, bạn có thể bọc mảng chức năng của riêng bạn xung quanh nó. AFAIK, không có những thứ tích hợp khác cho việc này.
tôi đã hy vọng tránh tái phát minh ra bánh xe. xấu hổ làm sao. Tôi chắc chắn rằng các wrappering bạn đang nói về xảy ra tất cả các thời gian. –
Có lẽ có một số thư viện cho nó, nhưng hầu hết trong số đó là dành cho C++ ... – schnaader
:-) Được rồi. Tôi sẽ sử dụng realloc. Cảm ơn đã phản ứng nhanh chóng. –
Có một mảng động trong glib. (không glibc mặc dù) Kiểm tra GArray và GPtrArray. Một mảng động không thực sự giống như một danh sách liên kết.
Anyways this là tài nguyên hữu ích nhất mà tôi có thể tìm thấy khi học glib.
Bạn cũng có thể sử dụng obstacks
- 1. Tự động hoàn tất có thể thay đổi kích thước
- 2. Biểu tượng JButton tự động thay đổi kích thước
- 3. Tự động thay đổi kích thước hàng TableLayoutPanel khi cửa sổ được thay đổi kích thước
- 4. Cách tự động thay đổi kích thước lưới khi biểu mẫu được thay đổi kích thước?
- 5. Ngăn JList tự động thay đổi kích thước
- 6. wxpython: tự động thay đổi kích thước ảnh tĩnh (staticbitmap) để vừa với kích thước
- 7. Tự động thay đổi kích thước phần tử với kích thước cửa sổ jquery
- 8. Khung nội tuyến Fancybox tự động thay đổi kích thước
- 9. Thay đổi kích thước hình tự động trong matplotlib
- 10. HTML TextArea tự động thay đổi kích thước
- 11. CSS, tự động thay đổi kích thước div?
- 12. Sử dụng Bố cục Tự động để thay đổi không gian bằng cách đổi kích thước
- 13. Scrollable Composite - tự động thay đổi kích thước - swt
- 14. Cột tự động thay đổi kích thước thành kích thước của QTableView
- 15. Chỉnh sửa kích thước tự động của Gridpanel khi thay đổi kích thước cửa sổ
- 16. layouts Thay đổi kích thước động với ViewFlipper
- 17. Tự động thay đổi kích thước các yếu tố xoay để vừa với kích thước của thùng chứa
- 18. Tự động thay đổi kích thước div dựa trên kích thước của cửa sổ trình duyệt
- 19. boost :: multi_array thay đổi kích thước không hoạt động
- 20. Có thể tự động thay đổi kích thước heap java tối đa không?
- 21. tự động thay đổi kích thước văn bản (cỡ chữ) khi thay đổi kích thước cửa sổ?
- 22. JQuery: chiều cao năng động() với cửa sổ thay đổi kích thước()
- 23. std :: khả năng của chuỗi(), dự trữ() và thay đổi kích thước() chức năng
- 24. Ô bảng tùy chỉnh iOS không tự động thay đổi kích thước chiều rộng cho thay đổi định hướng
- 25. jQuery Mobile Lưới với những hình ảnh tự động thay đổi kích thước
- 26. Jquery với khả năng kéo có thể kéo và có thể thay đổi kích thước không hoạt động như mong đợi
- 27. Chức năng gọi tự động C++ sau biến thay đổi
- 28. Làm cho QTreeView tự động thay đổi kích thước thành nội dung
- 29. Tự động thay đổi kích thước NSTabView để vừa với chế độ xem nội dung
- 30. plugin xoay jquery - hoạt động như jquery ui thay đổi kích thước
Dang. Thực hiện đầy đủ quá. Cảm ơn rất nhiều epatel. –