Da trilha de C Este conceito ainda não saiu como card do dia. ir para o card de hoje

C Fundamentos Básico

Tipos e variáveis

Em C, cada variável tem um tipo que define o tamanho na memória e como os bits são interpretados. Os tipos básicos incluem int (inteiros), char (caracteres), float e double (números reais). O operador sizeof retorna o tamanho em bytes de um tipo ou variável. Tipos podem ser signed (com sinal) ou unsigned (sem sinal), alterando o intervalo de valores. Para portabilidade, a biblioteca stdint.h define tipos com largura fixa, como int32_t e uint8_t.

Pontos-chave

  • int, char, float e double são os tipos fundamentais em C.
  • sizeof é um operador que retorna o tamanho em bytes de um tipo ou variável.
  • signed permite valores negativos; unsigned apenas não negativos, mas com dobro do alcance positivo.
  • stdint.h fornece tipos de largura exata como int16_t, uint32_t, etc., garantindo portabilidade.
  • Escolher o tipo correto evita estouro de memória e comportamento indefinido.
tipos_variaveis.c
#include <stdio.h>
#include <stdint.h>

int main(void) {
    // Tipos básicos
    int idade = 30;
    char inicial = 'J';
    float altura = 1.75f;
    double pi = 3.141592653589793;

    // Tamanhos com sizeof
    printf("int: %zu bytes\n", sizeof(int));
    printf("char: %zu bytes\n", sizeof(char));
    printf("float: %zu bytes\n", sizeof(float));
    printf("double: %zu bytes\n", sizeof(double));

    // Signed vs unsigned
    signed int saldo = -100;
    unsigned int populacao = 8000000000U;
    printf("Saldo: %d\n", saldo);
    printf("População: %u\n", populacao);

    // Tipos de largura fixa (stdint.h)
    int32_t contador = 123456;
    uint8_t byte = 255;
    printf("Contador: %d\n", contador);
    printf("Byte: %u\n", byte);

    return 0;
}

Exercícios

  1. 1
    Fácil

    Declarando e imprimindo tipos básicos

    Escreva um programa que declare uma variável int chamada ano com valor 2025, um char chamado letra com 'A', um float chamado preco com 19.99 e um double chamado taxa com 0.075. Imprima cada valor usando o formato correto.

    Resolver
  2. 2
    Médio

    Tamanhos e intervalos com sizeof e unsigned

    Crie um programa que mostre o tamanho em bytes de int, char, float, double, short e long. Depois, declare uma variável unsigned int com o valor 4000000000 e imprima-a. Explique por que um int comum não poderia armazenar esse valor.

    Resolver
  3. 3
    Desafio

    Portabilidade com stdint.h e conversões seguras

    Escreva um programa que use stdint.h para declarar variáveis de largura fixa: int8_t, uint16_t, int32_t e uint64_t. Atribua valores que exercitem os limites de cada tipo (por exemplo, INT8_MAX, UINT16_MAX, etc.). Imprima os valores e seus tamanhos com sizeof. Use os macros de limite de stdint.h para verificar se os valores estão dentro do intervalo antes de atribuir.

    Resolver

Continue estudando