Tôi có hai nghi ngờ về việc sử dụng memmove():Làm thế nào để sử dụng và khi nào là memmove sử dụng tốt trong C?
- Khi nào sử dụng thích hợp hơn chức năng này thay vì sử dụng chức năng khác (nghĩa là tạo ra chức năng riêng)? Tôi không chắc là tôi đã hiểu đúng.
- Chữ ký của hàm là void * memmove (void * dest, const void * src, size_t n). Nếu tôi có một mảng đơn giản arr [N], làm thế nào tôi có thể đặt nó vào hàm được gọi? arr [N] hoặc & arr [N]? Sự khác biệt là nếu mảng được khai báo với kích thước ban đầu hoặc giống như một con trỏ? Tôi có nghi ngờ này bởi vì tôi thấy nhiều ví dụ được sử dụng cả hai.
Tôi hy vọng tôi đã giải thích những nghi ngờ của mình theo cách tốt.
chỉnh sửa: Tôi phải xóa phần tử khỏi mảng và sau đó tôi muốn thay đổi các phần tử sau của phần tử đã xóa ở bên trái.
Có liên quan. http://stackoverflow.com/questions/1960991/which-one-to-use-memmove-or-memcpy-when-buffers-dont-overlap –