https://www.youtube.com/watch?v=PO_NeeNaogY

Em praticamente todo programa de computador, é necessário receber informações e apresentar resultados. Essa comunicação com o ambiente externo é feita por meio dos mecanismos de entrada e saída de dados (I/O – Input/Output).

Sem esses mecanismos, um programa executaria apenas operações internas, sem interação com o usuário ou com outros sistemas.


1. Conceito Geral de Entrada e Saída

Dispositivos como teclado, mouse e touchscreen são exemplos de entrada. Já o monitor ou a tela do computador são exemplos de saída.

Na linguagem C, o tratamento de entrada e saída é feito por meio da biblioteca padrão:

#include <stdio.h>

Essa biblioteca fornece funções que permitem:

Internamente, C trata esses dispositivos como fluxos de dados (streams).

Embora esses conceitos envolvam arquivos no sistema operacional, a linguagem torna esse funcionamento transparente para o programador.


2. Buffers de Entrada e Saída

A leitura e a escrita de dados não ocorrem “de uma vez”. Elas acontecem por meio de estruturas chamadas buffers.

Um buffer pode ser entendido como uma fila temporária de dados.

Por exemplo, suponha que o usuário digite: