O Structs em Linguagem C
Por: Luciana Monteiro Ribeiro • 11/11/2020 • Seminário • 369 Palavras (2 Páginas) • 390 Visualizações
Struct em C
Struct
Em Linguagem C Registros são chamados de Estruturas e a palavra-chave é Struct. Um registro (= record) é um pacote de variáveis, possivelmente de tipos diferentes. Cada variável é um campo do registro. Na linguagem C, registros são conhecidos como structs (o nome é uma abreviatura de structure).
Definindo uma Estrutura
Uma estrutura pode ser definida de formas diferentes. No corpo da estrutura encontram-se os membros, ou seja, as variáveis de diversos tipos que comporão esse tipo de dado heterogêneo definido pelo usuário. Depois de definida uma estrutura, uma (ou mais) variável do tipo estrutura deve ser definida, para permitir a manipulação dos membros da estrutura.
Exemplo
typedef struct { // declaração da struct
int codigo; // declaração de um campo/variável int
char nome[200]; // declaração de um campo/variável char
float nota; // declaração de um campo/variável float
} aluno; // declaração do nome do registro
aluno aluno_especial, aluno_regular, aluno_ouvinte; // declaração de variável tipo aluno (nome da struct)
Acessando os membros da Estrutura
Para acessar os membros/campos da estrutura, quando ela é diretamente referenciada, devemos utilizar o Ponto, que também é chamado de operador de seleção direta, ressaltando que uma variável do tipo struct (tipo aluno no exemplo acima) pode guardar em si todos os dados que forem declarados dentro da struct (uma variável aluno pode guardar um código, nome e nota, ou seja, uma variável aluno é uma “lista” de variáveis):
aluno_especial.codigo
aluno_especial.nome
aluno_especial.nota
Atribuindo valores aos membros da Estrutura
Você pode atribuir valores aos membros das estruturas diretamente, conforme a seguir:
aluno_especial.codigo = 10;
strcpy(aluno_especial.nome, "Manoel");
aluno_especial.nota = 10.0;
Para atribuir um valor a uma string é necessário utilizar a função Strcpy (CPY = copiar; STR = string). A função copiará o que está dentro das aspas duplas para o membro STRING da estrutura.
...