Ir ao conteúdo

Struct


luuizdiego

Posts recomendados

Postado

struct é a maneira de C para representar registros, ou seja, tipos definidos pelo usuário. Um registro nada mais é que um agregado de campos de outros tipos. Por exemplo, eu poderia criar a seguinte struct:

struct pessoa
{
// 32 caracteres = 32 bytes.
char nome[32];
// Digamos que inteiro ocupe 4 bytes.
int idade;
// Um booleano em C é representado por um inteiro, logo, 4 bytes.
int isAlive;
};

A struct acima ocupa 40 bytes, e armazena o nome, idade e estado vital de uma pessoa, que podem ser acessados da seguinte forma:

pessoa p;
p.nome = "Luiz Tupla";
p.idade = 192;
p.isAlive = 1;

if (p.isAlive && p.idade > 100)
{
printf("%s é imortal?", p.nome);
}

Outros usos para struct podem ser:

- Personagens de um jogo, armazenando seus vários atributos.

- Um jogo de xadrez, armazenando a ordem dos jogadores, a matriz que representa o estado do jogo e a pontuação de cada um.

- Os carros do estoque de uma consessionária, armazenando cor, tipo da roda, tipo do carro etc..

Espero ter ajudado.

ZaZ

Postado

Perdoe-me corrigir, mas a struct acima tem, NO MINIMO, 40 bytes.

Uma struct pode ter um tamanho maior que a soma dos tamanhos de seus elementos por causa do tamanho de words e dwords da memoria, eu acho.

Coisa de louco, mas as vezes dá nisso

Postado

Opa, petrolífero.

Como eu disse que o inteiro tinha 4 bytes, então considera-se um sistema de 32 bits, ou seja, palavras de 4 bytes, mas valeu pela observação.

ZaZ

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!