Sobes.tech
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