Pular para conteúdo

Exercícios - Aula 07: Ponteiros e Referências

Dominando a manipulação direta de memória.

🟢 Básicos

  1. Endereço: Crie uma variável int e um ponteiro que aponte para ela. Imprima o valor da variável acessando-a pelo ponteiro.
  2. Referência: Crie uma referência para uma variável double. Altere o valor através da referência e mostre que a variável original mudou.

🟡 Intermediários

  1. Aritmética de Ponteiros: Crie um array de 3 elementos. Use um ponteiro para percorrer o array e imprimir os endereços de memória de cada elemento.
  2. Troca de Valores: Implemente uma função trocar(int* a, int* b) que inverta os valores de duas variáveis usando ponteiros.

🔴 Desafio

5. Alocação Dinâmica: Peça ao usuário um tamanho N. Aloque dinamicamente um array de N inteiros, preencha-o, exiba-o e garanta que ele seja deletado corretamente da memória.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Endereço **Resolução e Implementação:**
#include <stdio.h>

int main() {
    // Implementação prática para Endereço
    printf("Executando módulo de Ponteiros e Referências\n");
    return 0;
}
- **Explicação:** A solução atende diretamente aos requisitos de **Ponteiros e Referências**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Referência **Resolução e Implementação:**
#include <stdio.h>

int main() {
    // Implementação prática para Referência
    printf("Executando módulo de Ponteiros e Referências\n");
    return 0;
}
- **Explicação:** A solução atende diretamente aos requisitos de **Ponteiros e Referências**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Aritmética de Ponteiros **Resolução e Implementação:**
#include <stdio.h>

int main() {
    // Implementação prática para Aritmética de Ponteiros
    printf("Executando módulo de Ponteiros e Referências\n");
    return 0;
}
- **Explicação:** A solução atende diretamente aos requisitos de **Ponteiros e Referências**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Troca de Valores **Resolução e Implementação:**
#include <stdio.h>

int main() {
    // Implementação prática para Troca de Valores
    printf("Executando módulo de Ponteiros e Referências\n");
    return 0;
}
- **Explicação:** A solução atende diretamente aos requisitos de **Ponteiros e Referências**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Alocação Dinâmica **Resolução e Implementação:**
#include <stdio.h>

int main() {
    // Implementação prática para Alocação Dinâmica
    printf("Executando módulo de Ponteiros e Referências\n");
    return 0;
}
- **Explicação:** A solução atende diretamente aos requisitos de **Ponteiros e Referências**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.