# 3. Armazenamento e Dados

O armazenamento em programas C é composto por unidades chamadas *bytes*. Um byte é a menor unidade de armazenamento que pode ser usada primariamente.

Em quase todos os computadores, um byte é composto por 8 bits. Existem alguns computadores peculiares (principalmente “controladores embarcados” para sistemas muito pequenos) onde um byte é maior do que isso, mas este manual não tenta explicar a peculiaridade desses computadores; assumimos que um byte tem 8 bits.

Cada tipo de dado em C é composto por um certo número de bytes; esse número é o tamanho do tipo de dado. Veja [Tamanho do Tipo](#user-content-fn-1)[^1], para mais detalhes. Os tipos `signed char` e `unsigned char` têm um byte de comprimento; use esses tipos para operar com dados byte a byte. Veja [Tipos Com e Sem Sinal](#user-content-fn-1)[^1]. Você pode se referir a uma série de bytes consecutivos como um array de elementos `char`; é assim que uma string de caracteres se parece na memória. Veja [Strings Constantes](#user-content-fn-1)[^1].

{% embed url="<https://www.youtube.com/watch?v=BNPRDvsiUDo>" %}

[^1]: Capítulo pendente de tradução


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mentebinaria.gitbook.io/manual-da-linguagem-gnu-c/3.-armazenamento-e-dados.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
