Menu
Coddy logo textTech

Usando typedef para Aliases de Tipo

Parte da seção Logic & Flow do Journey de C da Coddy. Lição 58 de 63.

Às vezes, na programação C, você encontrará situações em que os nomes dos tipos de dados existentes são muito verbosos ou não expressam claramente a intenção do seu programa. A palavra-chave typedef fornece uma solução ao permitir que você crie novos nomes para tipos de dados existentes.

Pense no typedef como a criação de um apelido ou codinome para um tipo de dado. A sintaxe básica é direta:

typedef existing_type new_name;

Por exemplo, você pode criar um nome mais descritivo para o tipo de dado int:

typedef int Integer;

Após esta declaração, você pode usar Integer em qualquer lugar onde você normalmente usaria int. Ambos int count = 5; e Integer count = 5; realizam exatamente a mesma coisa, mas a segunda versão pode ser mais significativa em certos contextos.

Este recurso torna-se particularmente valioso ao trabalhar com tipos de dados complexos ou quando você deseja tornar seu código mais autodocumentado e mais fácil de manter.

challenge icon

Desafio

Fácil

Crie um programa em C que demonstre o uso de typedef para criar aliases de tipos significativos para um sistema de monitoramento de temperatura. Seu programa deve:

  1. Criar os seguintes aliases de tipo usando typedef:
    • Criar um alias de tipo Temperature para float
    • Criar um alias de tipo SensorID para int
    • Criar um alias de tipo Status para int
  2. Na função principal:
    • Declarar uma variável do tipo SensorID chamada sensor
    • Declarar uma variável do tipo Temperature chamada currentTemp
    • Declarar uma variável do tipo Temperature chamada threshold
    • Declarar uma variável do tipo Status chamada alertStatus
    • Ler quatro valores da entrada nesta ordem: ID do sensor, temperatura atual, temperatura de limite (threshold) e status de alerta
    • Atribuir esses valores de entrada às variáveis correspondentes
    • Imprimir as informações do sensor exatamente neste formato:
      • Sensor ID: [sensor_id]
      • Current Temperature: [current_temp]
      • Threshold: [threshold_temp]
      • Alert Status: [alert_status]
    • Realizar a análise de temperatura e imprimir os resultados:
      • Calcular a diferença de temperatura (temperatura atual menos o limite) e armazená-la em uma variável Temperature chamada difference
      • Imprimir a diferença exatamente neste formato: Temperature Difference: [difference]
      • Determinar a categoria da temperatura com base na temperatura atual:
        • Se a temperatura for inferior a 0.0: imprimir Category: Freezing
        • Se a temperatura estiver entre 0.0 e 25.0 (inclusive): imprimir Category: Normal
        • Se a temperatura for superior a 25.0: imprimir Category: Hot
      • Verificar se um alerta deve ser disparado:
        • Se a temperatura atual for maior que o limite E o status de alerta for 1: imprimir Alert: Temperature exceeded threshold!
        • Caso contrário: imprimir Alert: No alert triggered

Este desafio demonstra como o typedef torna o código mais autodocumentado e fácil de entender. Em vez de usar tipos genéricos como int e float em todo o seu programa, você usará nomes significativos como SensorID, Temperature e Status que indicam claramente o propósito de cada variável. Essa abordagem melhora a legibilidade do código e o torna mais fácil de manter e modificar seus programas.

Experimente você mesmo

#include <stdio.h>

// TODO: Crie aliases typedef aqui

int main() {
    // TODO: Declare variáveis usando os aliases typedef
    
    // Ler valores de entrada
    scanf("%d", &sensor);
    scanf("%f", &currentTemp);
    scanf("%f", &threshold);
    scanf("%d", &alertStatus);
    
    // TODO: Escreva seu código abaixo para imprimir informações do sensor e realizar a análise
    
    return 0;
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Logic & Flow

Pratique por conta própria: Compilador de C online