Pular para conteúdo

Exercícios: Aula 10 – Ponteiros (Introdução) 📝

Explore a manipulação direta da memória e entenda como as variáveis são armazenadas.


🟢 Nível: Básico

1. O Apontador

Crie um programa que declare uma variável inteira e um ponteiro para ela. Imprima o valor da variável acessando-a diretamente e, em seguida, acessando-a através do ponteiro.

2. Endereço Físico

Escreva um programa que peça um número ao usuário e imprima qual o endereço de memória (em hexadecimal) onde esse número foi guardado pelo sistema.


🟡 Nível: Intermediário

3. Alteração Indireta

Crie um programa com uma variável float preco = 100.00;. Declare um ponteiro para essa variável e use o ponteiro para aplicar um desconto de 15% direto na memória. Imprima o preço final acessando a variável original.

4. Tamanho dos Tipos

Use o operador sizeof() para descobrir e imprimir quantos bytes ocupam na memória um int, um float, um double e um char. Mostre também o endereço inicial de cada um deles após declará-los.


🔴 Nível: Desafio

5. Função com Referência

Escreva uma função void atualizarValores(int *a, int *b) que receba dois endereços. A função deve substituir o valor de A pela soma de A+B e o valor de B pela subtração de A-B. Teste a função no main imprimindo os resultados.

Exemplo: Entrada: A=10, B=5 Saída: A=15, B=5 (15-10=-5 ou conforme sua lógica de fluxo).


[!IMPORTANT] Aviso: Trabalhar com ponteiros exige atenção! Tentar acessar um endereço inválido (ponteiro NULL ou não inicializado) resultará no erro Segmentation Fault (Faslha de Segmentação).