Estrutura em c

Estrutura em c
Estrutura é um conceito importante em c. Existem dois tipos de tipos de dados que existem em c. São tipos de dados primitivos e tipos de dados não primitivos ou definidos pelo usuário. A estrutura é um exemplo de um tipo de dados não primitivo.

O que é estrutura

Estrutura é uma maneira de agrupar variáveis. Às vezes, temos que armazenar algumas informações em um grupo.

Suponha que tenhamos que armazenar 100 informações dos alunos. Informações significa seu nome, endereço, móvel não, gênero, marcas, agregados, etc. Nesta situação, se armazenarmos esses dados para as múltiplas variáveis ​​para cada aluno, o programa se tornará muito complexo e aumenta a velocidade de execução do programa.

Para reduzir esse problema, introduzimos estrutura. Com a ajuda da estrutura, podemos agrupar essas variáveis ​​de cada aluno em uma única variável.

Estrutura é uma coleção de elementos diferentes. Dissimilar significa que podemos armazenar diferentes valores de tipo de dados como int, char, flutuação, string, etc.

Se armazenarmos as informações de um aluno, temos que armazenar seu nome, marcas, móveis não, etc. Nome é uma string; Uma marca é uma bóia; móvel não é uma matriz inteira. Portanto, é um grupo de elementos diferentes.

Estrutura definidora significa criar um novo tipo de dados, E sabemos que criar um novo tipo de dados significa que usamos aqui o tipo de dados não primitivo.

Como definir uma estrutura

data data // definindo uma estrutura;

int d, m, y;
;
Estudante de estrutura // Definindo outra estrutura;

int roll_no;
nome de char [30];
Int Age;

A data e o aluno acima mencionados são novos tipos de dados chamados tipos de dados definidos pelo usuário. Este tipo de tipo de dados deve ser definido em nosso programa. Como o tipo de dados primitivo é definido em C, mas o tipo de dados não primitivo não é definido em C, ele deve ser definido pelo usuário. Para isso, temos que escrever uma palavra -chave chamada estrutura antes do nome do tipo de dados definido pelo usuário.

Consumo de memória

Nenhuma memória é consumida para uma definição de estrutura. Porque a memória é consumida para a declaração de uma variável, mas não no caso de definir o tipo de dados.

Definição da estrutura significa criar um novo tipo de dados; A memória não é consumida. A memória é consumida no momento da declaração de um tipo específico de variável

Onde podemos definir a estrutura

Podemos definir uma estrutura como local ou globalmente, dependendo da exigência do programa.

Como você cria variáveis ​​através da estrutura

Exemplo de programação1:

#incluir
date struct // definindo uma estruturaglobalmente;

int d, m, y;
;
data data d1;
int main ()

D1.d = 24; // atribuindo valores às variáveis ​​do membro de D1;
D1.M = 4;
D1.y = 2022;
printf (“A data é: %d %d %d“, d1.D, D1.M, D1.y);
retun0;

Saída

Explicação

Aqui criamos um tipo de dados de data globalmente. Para definir um tipo de dados de data, usamos a estrutura de palavras -chave. Agora declaramos uma variável d1 sem inicialização. Dentro da função principal, atribuímos os valores da variável de membro da data; Eles são D1.D, D1.M, D1.y. Agora imprimimos os valores.

Exemplo de programação 2

#incluir
data data // definindo uma estrutura globalmente;

int d, m, y;
;
int main ()

data data d1 = 24, 4, 2022;
// declaração e atribuição de valores localmente;
printf (“A data é: %d %d %d“, d1.D, D1.M, D1.y);
retornar 0;

Saída

Explicação

Aqui definimos o tipo de dados de data globalmente. Dentro da função Main (), declaramos e atribuímos uma variável d1 do tipo de dados de data. Portanto, essa variável D1 age como uma variável local. Aqui os valores vão automaticamente para a variável de membro da data. Agora imprimimos a data.

Exemplo de programação 3

#incluir
data data // definindo uma estrutura globalmente;

int d, m, y;
;
data data d1;
int main ()

printf (“Digite uma data:”);
scanf (" %d/ %d/ %d", & d1.D, & D1.y, & d1.y); // inserindo a data do usuário;
printf (“A data é: %d %d %d“, d1.D, D1.M, D1.y);
retornar 0;

Saída

Estrutura auto -referencial

A estrutura auto -referencial também é uma estrutura. É uma estrutura com ponteiros que apontam para o mesmo tipo de estrutura que um membro. Mostramos um exemplo abaixo.

Exemplo de programação 4

#incluir
int main ()

Nó da estrutura

int dados;
link de nó de estrutura *;
;
Nó da estrutura n1;
N1. dados = 5;
N1 . link = null;
Nó da estrutura n2;
n2. Dados = 7;
n2. Link = null;
N1. Link = & n2; // O endereço de N2 é atribuído para vincular parte do N1.
printf (“O valor dos dados é: %d”, n1. dados ) ;
printf (“O valor do link é: %d”, n1. link -> dados);
retornar 0;

Saída

Explicação

O programa acima é um exemplo de estrutura auto -referencial. Aqui criamos um tipo de dados definido pelo usuário chamado um nó. Tem dois membros de dados dentro de seu corpo. Um são dados; outro está ligado. Link é um ponteiro que tipo é o tipo de nó. Isso significa que pode conter o endereço dos dados do tipo de nó apenas. Agora criamos uma variável N1 que é um tipo de dados do tipo de nó. Aqui atribuímos um valor de tipo int 5. Na parte vinculada, atribuímos NULL.

Outra variável, B, também é um tipo de dados do tipo de nó. 7 e nulos são armazenados em seus respectivos membros de dados. O aspecto importante é que armazenamos o endereço de B ao link de um. Isso significa que o link de uma variável agora aponta para a variável B. É chamado estrutura auto -referencial.

Aplicação de estrutura auto -referencial

A estrutura auto -referencial é muito usada no campo da lista de links, árvores.

Conclusão

Do conceito de estrutura, concluímos que o requisito de estrutura em C é muito importante. Através da estrutura, podemos criar nosso próprio tipo de dados de acordo com o requisito do programa. Através da estrutura, podemos armazenar diferentes tipos de metadados.