Các realloc () chức năng sẽ làm thay đổi kích thước của các đối tượng bộ nhớ được trỏ đến bởi ptr đến kích thước quy định bởi kích thước.
Các nội dung của đối tượng sẽ không thay đổi cho đến ít hơn của các kích thước mới và cũ.
Nếu kích thước mới của bộ nhớ đối tượng sẽ yêu cầu di chuyển của các đối tượng, không gian cho instantiation trước của các đối tượng được giải phóng.
Nếu kích thước mới là lớn hơn, nội dung của các phần mới được giao của các đối tượng được xác định.
Nếu kích thước là 0 và ptr không phải là một null con trỏ, các đối tượng chỉ để được giải thoát. Nếu không gian không thể được phân bổ, các đối tượng không thay đổi. Nếu ptr là một con trỏ null, realloc () sẽ tương đương với malloc () cho kích thước quy định. Nếu ptr không phù hợp với một con trỏ trở về trước bởi calloc (), malloc (), hoặc realloc () hoặc nếu không gian trước đây đã được deallocated bởi một cuộc gọi để giải phóng () hoặc realloc (), hành vi được xác định. Trình tự, tiếp giáp lưu trữ được phân bổ bởi các cuộc gọi liên tiếp để realloc () là không xác định. Các con trỏ trả về nếu việc phân bổ thành công sẽ được phù hợp phù hợp để nó có thể được gán cho một con trỏ đến bất kỳ loại đối tượng và sau đó được sử dụng để truy cập như một đối tượng trong không gian được phân bổ (đến khi không gian được giải phóng một cách rõ ràng hay tái phân bổ). Mỗi phân bổ như vậy sẽ tạo ra một con trỏ đến một đối tượng tách rời khỏi đối tượng nào khác. Các con trỏ trở về sẽ trỏ đến đỉnh (địa chỉ byte thấp nhất) của không gian được phân bổ. Nếu không gian không thể được phân bổ, một con trỏ null được trả lại. Trả lại giá trị Sau khi hoàn thành công với một kích thước không bằng 0, realloc () sẽ trả về một con trỏ đến (có thể di chuyển) được phân bổ không gian. Nếu kích thước là 0, hoặc là một con trỏ null hoặc một con trỏ duy nhất có thể được thông qua thành công để giải thoát () sẽ được trả lại. Nếu không có đủ bộ nhớ có sẵn, realloc () sẽ trả về một con trỏ null và đặt errno tới [ENOMEM].
đang được dịch, vui lòng đợi..