O GoConqr está de visual novo! Conte para nós o que você achou.

Mapa mental

Alocação dinâmica

Ana Maria Português

Conteúdo do mapa

Alocação dinâmica

  1. Reconhecer as funções utilizadas na alocação dinâmica.

  2. Descobrir o tamanho de um tipo de dado.

  3. Realizar a alocação dinâmica de um vetor.

  4. Realizar a alocação dinâmica de uma matriz.

  5. Liberar a memória alocada.

  6. Definição: Sempre que escrevemos um programa, é preciso reservar espaço para os dados que serão processados. Para isso usamos as variáveis.

    • Uma variável é uma posição de memória previamente reservada e que pode ser usada para armazenar algum dado.
      • Toda variável deve ser declarada antes de ser usada.
        • Imagine o seguinte problema: precisamos construir um programa que processe os valores dos salários dos funcionários de uma pequena empresa.
        • Um ponteiro é uma variável que guarda o endereço de um dado na memória.
          • O nome do array é apenas um ponteiro que aponta para o primeiro elemento do array
            • A alocação dinâmica consiste em requisitar um espaço de memória ao computador, em tempo de execução, o qual, usando um ponteiro, devolve para o programa o endereço do início desse espaço alocado.
  7. Alocar memória para um elemento do tipo int é diferente de alocar memória para um elemento do tipo float

    • A função sizeof() é usada para saber o número de bytes necessários para alocar um único elemento de determinado tipo de dado.
      • Note que a função malloc() retorna um ponteiro genérico (void*). Esse ponteiro pode ser atribuído a qualquer tipo de ponteiro via type cast.
  8. calloc()

    • A função malloc() recebe dois parâmetros de entrada: • num: o número de elementos no array a ser alocado. • size: o tamanho de cada elemento do array.
      • E retorna: • NULL: no caso de erro. • O ponteiro para a primeira posição do array alocado.
  9. realloc()

    • A função realloc() serve para alocar memória ou realocar blocos de memória previamente alocados pelas funções malloc(), calloc() ou realloc().
      • Basicamente, a função realloc() modifica o tamanho da memória previamente alocada e apontada pelo ponteiro ptr para um novo valor especificado por num, sendo num o tamanho em bytes do bloco de memória solicitado (igual à função malloc()).
        • A função realloc() retorna um ponteiro (void *) para o novo bloco alocado. Isso é necessário porque a função realloc() pode precisar mover o bloco antigo para aumentar seu tamanho. Se isso ocorrer, o conteúdo do bloco antigo é copiado para o novo bloco e nenhuma informação é perdida.
          • Isso ocorre porque a função realloc() se comporta como a função malloc(). Ela não se preocupa em inicializar o espaço alocado.
            • Se não houver memória suficiente para a realocação, um ponteiro nulo é devolvido e o bloco original é deixado inalterado.
  10. Estrutura de dados

  11. Alocação dinâmica

  12. 28/08/2022

  13. Capitulo 11

  14. Alocação de arrays multidimensionais

    • Solução 1: Usando array unidimensional
      • Solução 3: Ponteiro para ponteiro para array
    • Solução 2: Usando ponteiro para ponteiro

Informações

Descrição
Mapa Mental sobre Alocação dinâmica, criado por Ana Maria em 28-08-2022.
Criado por
Ana Maria
Visualizações
0
Avaliação

Mais sobre Ponteiros e alocação dinâmica de memória

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?