Alternativa E - Enum.
Introdução
Para resolver este problema, precisamos identificar qual mecanismo da linguagem C é projetado especificamente para gerenciar conjuntos de valores constantes e distintos. O cenário envolve categorização de itens, onde cada item pertence a um grupo definido (ex: Eletrônicos, Roupas, Livros).
Desenvolvimento
Em C, o recurso Enum (abreviação de Enumeration) permite definir um novo tipo de dado composto por um conjunto de constantes inteiras nominais.
- Semântica: Ele torna o código mais legível, substituindo números mágicos por nomes significativos.
- Exemplo de uso:
enum Categoria { ELETRONICOS, ROUPAS, LIVROS };
- Vantagem: Garante que apenas os valores definidos na lista sejam utilizados, evitando erros de digitação comuns com strings.
As outras opções possuem propósitos diferentes:
| Recurso | Função Principal | Por que não é o ideal aqui? |
|---|
| Struct | Agrupar dados heterogêneos | Define a estrutura do objeto, não os rótulos das categorias. |
| Array | Lista sequencial de dados | Requer gerenciamento manual de índices ou strings. |
| Pointer | Endereço de memória | É uma ferramenta de acesso, não de definição de tipos. |
| Union | Sobreposição de memória | Usado para economizar espaço, não para categorias. |
Análise
- Enum cria um conjunto fechado de símbolos, ideal para estados ou categorias fixas.
- Em e-commerce, categorias raramente mudam dinamicamente durante a execução, tornando
enum seguro e eficiente. - O uso de
struct seria correto para armazenar os dados dentro de cada produto, mas não para definir as categorias em si.
Conclusão
O recurso ideal para representar categorias distintas de produtos, garantindo clareza e restrição de valores válidos, é o Enum.