Recapitulação: Fundamentos de Ponteiros
Parte da seção Lógica e Fluxo do Journey de C da Coddy. Lição 6 de 63.
Desafio
FácilEscreva um programa em C que demonstre o fluxo de trabalho completo com ponteiros, trabalhando com vários tipos de dados. Seu programa deve:
- Declarar uma variável inteira chamada
agee inicializá-la com o valor 25 - Declarar uma variável de caractere chamada
gradee inicializá-la com o valor 'A' - Declarar uma variável de ponto flutuante chamada
temperaturee inicializá-la com o valor 98.6 - Declarar três ponteiros correspondentes:
- Um ponteiro para um inteiro chamado
age_ptr - Um ponteiro para um caractere chamado
grade_ptr - Um ponteiro para um número de ponto flutuante chamado
temp_ptr
- Um ponteiro para um inteiro chamado
- Usar o operador de obtenção de endereço para atribuir os endereços das variáveis aos seus respectivos ponteiros
- Usar o operador de desreferenciamento para imprimir os três valores por meio de seus ponteiros no seguinte formato:
- Idade: [valor]
- Nota: [valor]
- Temperatura: [valor] (com exatamente 1 casa decimal)
- Modificar as variáveis originais por meio de seus ponteiros:
- Alterar
agepara 30 usandoage_ptr - Alterar
gradepara 'B' usandograde_ptr - Alterar
temperaturepara 99.5 usandotemp_ptr
- Alterar
- Imprimir os valores modificados diretamente das variáveis originais (não por meio de ponteiros) no mesmo formato da etapa 6
Sua saída deve exibir os resultados no seguinte formato:
Age: 25
Grade: A
Temperature: 98.6
Age: 30
Grade: B
Temperature: 99.5Este desafio testa sua compreensão sobre declaração de ponteiros, atribuição de endereços e desreferenciamento tanto para ler quanto para escrever valores, além de demonstrar que os ponteiros fornecem acesso direto aos locais de memória das variáveis originais.
Experimente você mesmo
#include <stdio.h>
int main() {
// TODO: Escreva seu código aqui
// Declarar variáveis e ponteiros
// Atribuir endereços aos ponteiros
// Imprimir valores através dos ponteiros
// Modificar valores através dos ponteiros
// Imprimir valores modificados das variáveis originais
return 0;
}Todas as lições de Lógica e Fluxo
1Fundamentos de Ponteiros
O que é um Ponteiro?Declarando PonteirosO Operador de Endereço (&)O Operador de Desreferência (*)Ponteiros NULLRecapitulação: Fundamentos de Ponteiros4Projeto: Utilitário de Texto Simples
Visão Geral do ProjetoContando Caracteres2Ponteiros e Arrays
Nomes de Arrays como PonteirosElementos de Array - PonteirosAritmética de PonteirosComparando PonteirosRecapitulação: Percorrendo Arrays com Ponteiros5Ponteiros e Funções
Passagem por ValorPassando Ponteiros para FunçõesModificando Variáveis via PonteirosUm Exemplo Clássico: SwapPassando Arrays para FunçõesRecapitulação: Ponteiros como Argumentos3Arrays de Caracteres e Strings
Strings como Arrays de charO Terminador NuloEntrada de Strings com scanfUsando strlen()Usando strcpy()Usando strcat()Usando strcmp()Recapitulação: Funções Básicas de Strings6Gerenciamento de Memória
Memória Stack vs. HeapAlocação Dinâmica - malloc()Usando sizeof() para AlocaçãoVerificando Falhas de AlocaçãoLiberando Memória com free()Alocando com calloc()Recapitulação: Array Dinâmico9Projeto: Cadastro Simples de Contatos
Projeto: Definir a Struct de ContatoFunção para Criar um ContatoPratique por conta própria: Compilador de C online