Categoria: Linguagem C

C é a linguagem que sustenta a computação moderna: sistemas operacionais, bancos de dados, interpretadores de outras linguagens e quase todo sistema embarcado. Trabalha perto do hardware, com controle explícito da memória através de ponteiros — o que exige disciplina, mas ensina como o computador realmente funciona por baixo das abstrações.

Linguagem C

Gerenciando estruturas dinâmicas

Esta aula aborda o gerenciamento de estruturas dinâmicas em C, focando em alocação e liberação de memória, prevenção de vazamentos, padrões de ownership e boas práticas para escrever código robusto e seguro.

Lido
Linguagem C

Algoritmos de ordenação

Nesta aula, exploramos os algoritmos de ordenação em C, começando pelos clássicos Bubble Sort, Selection Sort e Insertion Sort, com implementações passo a passo. Discutimos a análise de complexidade de tempo e espaço, apresentamos a função qsort da biblioteca padrão como uma solução eficiente e flexível, e comparamos os algoritmos em termos de desempenho e uso prático. Ao final, você terá uma base sólida para escolher e implementar a ordenação adequada em seus programas.

Lido
Linguagem C

Algoritmos de busca

Esta aula aborda os principais algoritmos de busca em C: busca linear, busca binária e a função bsearch da biblioteca padrão. Você aprenderá a implementar cada um, entenderá seus pré-requisitos e complexidades, e verá exemplos práticos para aplicar em seus programas.

Lido
Linguagem C

Noções de complexidade (Big O)

Esta aula introduz o conceito de complexidade de algoritmos e a notação Big O, essencial para escrever código C eficiente. Você aprenderá a identificar a ordem de crescimento de algoritmos comuns, entenderá por que isso é crítico em C (onde você tem controle fino sobre memória e desempenho) e praticará a análise de trechos de código.

Lido
Linguagem C

Tempo e data (time.h)

Esta aula explora a biblioteca time.h da linguagem C, cobrindo funções para obter tempo, formatar datas, medir desempenho e aplicar esses conceitos em exemplos práticos. O aluno aprenderá a usar time(), clock(), difftime(), strftime() e outras funções essenciais para manipulação de tempo.

Lido
Linguagem C

Manipulação de bits avançada

Esta aula avança no estudo de manipulação de bits em C, abordando técnicas para definir, limpar e alternar bits individuais, além de contagem de bits e aplicações práticas como flags e otimizações. O conteúdo inclui exemplos de código, boas práticas e exercícios com respostas interativas.

Lido
Linguagem C

Números aleatórios

Esta aula aborda a geração de números aleatórios em C, explorando as funções rand e srand, a importância da semente, as limitações do gerador padrão e como obter distribuições mais adequadas para diferentes aplicações.

Lido
Linguagem C

Buffer overflow e segurança

Esta aula aborda o conceito de buffer overflow, suas causas e consequências, destacando funções perigosas da linguagem C como gets e strcpy, apresentando alternativas seguras e discutindo mitigações práticas para evitar vulnerabilidades. Inclui exemplos de código, boas práticas e exercícios com respostas para fixação.

Lido
Linguagem C

Erros comuns em C

Esta aula aborda os erros mais frequentes cometidos por programadores em C, incluindo erros de off-by-one, esquecimento de liberar memória, comparação com = em vez de == e uso de variáveis não inicializadas. Através de exemplos práticos e exercícios, você aprenderá a identificar, corrigir e evitar esses problemas, melhorando a qualidade e segurança do seu código.

Lido
Linguagem C

Debugging em C

Nesta aula, você aprenderá técnicas essenciais de debugging em C, desde o uso do depurador gdb até a prática de printf debugging, breakpoints e inspeção de memória. Serão apresentados exemplos práticos e exercícios para consolidar o conhecimento.

Lido
Linguagem C

Detectando erros de memória

Nesta aula, você aprenderá a detectar e corrigir erros de memória em programas C usando o Valgrind. Vamos explorar como identificar memory leaks, acessos inválidos e interpretar a saída da ferramenta, com exemplos práticos e exercícios para consolidar o conhecimento.

Lido
Linguagem C

Comportamento indefinido

Nesta aula, exploramos o conceito de Comportamento Indefinido (UB) em C, seus exemplos clássicos, por que é perigoso e como evitá-lo, com práticas recomendadas e exercícios.

Lido