Rất nhiều liên quan đến my previous question, nhưng tôi thấy đây là vấn đề riêng và không thể tìm thấy câu trả lời chắc chắn cho vấn đề này.Bộ nhớ của mảng (ký tự) có được giải phóng bằng cách thoát khỏi phạm vi không?
Bộ nhớ có được sử dụng bởi mảng (ký tự) được giải phóng bằng cách thoát khỏi phạm vi không?
Một ví dụ:
void method1()
{
char str[10];
// manipulate str
}
Vì vậy, sau khi cuộc gọi method1, là bộ nhớ được sử dụng bởi str (10 byte) giải thoát, hay tôi cần phải dứt khoát gọi miễn phí về vấn đề này không?
Trực giác của tôi cho tôi biết đây chỉ là một mảng đơn giản của các loại nguyên thủy, do đó, nó tự động được giải phóng. Tôi nghi ngờ vì trong C bạn không thể giả định bất cứ điều gì để được tự động giải phóng.
(Trường hợp "không" có nghĩa là - vâng, miễn phí bằng cách thoát khỏi phạm vi và bạn không cần phải gọi miễn phí rõ ràng) – jmanning2k
@ jmanning2k tôi đọc lại bài đăng của mình và chỉnh sửa một chút rõ ràng hơn về những gì "không" có nghĩa là – JaredPar