Junior — Middle
Como é que os dados são armazenados na memória dinâmica (heap)?
sobes.tech IA
Resposta da IA
A memória dinâmica (heap) é uma área de memória da qual um programa aloca e liberta memória durante a execução conforme necessário.
O armazenamento de dados no heap ocorre assim:
- Quando uma solicitação de memória é feita (por exemplo, através de malloc em C ou new em C++), um bloco do tamanho necessário é alocado.
- A memória não é organizada como uma pilha, portanto, os objetos podem estar localizados em lugares arbitrários.
- A gestão da memória fica a cargo do programador (em linguagens sem coletor de lixo) ou do coletor de lixo (em linguagens com GC).
- No iOS, ao usar Objective-C ou Swift, os objetos geralmente são alocados no heap, e a gestão de memória é feita através do ARC (contagem automática de referências).
Exemplo em Swift:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person = Person(name: "Ivan") // objeto criado no heap