Estruturas em c

Estruturas em c

“No idioma C, as estruturas são a inicialização combinada do tipo de dados que é usado para agrupar várias variáveis ​​em um único tipo; variáveis ​​agrupadas devem estar relacionadas entre si. Ele permite que essas variáveis ​​sejam acessadas por um único ponteiro. A principal diferença entre uma estrutura e uma matriz é que uma matriz tem apenas um tipo de dados, mas, por outro lado, uma estrutura pode conter diferentes tipos de dados. Portanto, podemos dizer que a estrutura é um tipo de dados definido pelo usuário usado para armazenar várias variáveis ​​com diferentes tipos de dados em um único bloco para armazenar um tipo ou registro específico.

Vamos supor que precisamos armazenar um registro de uma pessoa; Esse tipo de registro terá atributos com diferentes tipos de dados, como número, nome em char, etc. Para esse fim, não podemos usar a matriz, pois armazena registros com o mesmo tipo de dados. A estrutura será útil neste caso para nós. É uma maneira de diferentes tipos de dados de grupo, e definir isso significa que estamos criando nosso novo Datatype.”

Sintaxe

A sintaxe a declarar uma estrutura é a seguinte:

Na figura acima, escrevemos um pedaço de código para declarar uma estrutura. Struct é uma palavra -chave para informar o sistema que estamos inicializando uma estrutura. Depois disso, atribuímos um nome à nossa estrutura que é "Structer_name". Em seguida, um suporte de abertura para declarar nossas variáveis. Na seção Variável, declaramos variáveis ​​de diferentes tipos de dados para guiá -lo sobre como uma estrutura pode manter variáveis ​​com diferentes tipos de dados. As variáveis ​​são, portanto, incluídas na estrutura. Para encerrar nosso bloco de estrutura, usamos um semicolon como um disjuntor de declaração.

Exemplo 1

Nesta ilustração, uma estrutura chamada “Detalhes do aluno” foi construída. No bloco de variáveis, declaramos algumas variáveis ​​que descrevem os atributos que um aluno tem. Depois, pegamos três características de um aluno, seu nome, número do rolo e resultado ou, em nosso exemplo, porcentagem. O tipo de dados de números de roll é um número inteiro porque geralmente um número de rolo é um número. O nome completo recebe um personagem e, finalmente, a porcentagem é alocada o tipo de dados do float porque podemos obter a porcentagem em pontos decimais.

Uma coisa a ter em mente é que a estrutura não pode ser declarada no método principal. Pode ser chamado usando seu objeto no método principal. Depois de declarar a estrutura, entraremos em nosso principal método em que declararemos um objeto de nossa estrutura. Com a ajuda desse objeto, podemos executar operações nas variáveis.

Detalhe1 é o nome de um objeto que geramos. Para cada aluno, definiremos um objeto diferente de nossa estrutura como detalhe2, detalhe3, etc. Com a ajuda do detalhe1, chamamos de variáveis ​​de nossa estrutura. Agora, o detalhe1 criará um registro de um aluno específico. Atribuímos roll_num = 100 ao nosso aluno e todos os outros atributos também. Para atribuir os dados a um registro específico, usaremos o objeto criado para esse registro específico.

Depois de atribuir todos os valores à variável, por exemplo, detalhe1 de nossa estrutura, exibiremos esses registros com a ajuda da função Printf. Na função Printf, %d indica valores decimais, %s representa valores de string e %f diz que ele exibirá os valores de flutuação. Imprimimos todos os três atributos de "Student XYZ".

Depois de executar o programa, obteremos a saída do nosso código acima escrito. Atribuímos os valores a uma instância específica de nossa estrutura e imprimimos os valores e, como você pode ver na figura abaixo, o sistema nos exibiu os valores dessa instância. Procedimentos adicionais podem ser realizados nesses valores. Você também pode definir uma instância diferente da estrutura do Student_Details para criar registros de vários alunos com nomes diferentes e outras características.

Exemplo 2

No exemplo seguinte, uma estrutura chamada uma tabela foi construída. A tabela tem um comprimento e uma largura, por isso os tomamos como parâmetros dessa estrutura. Já explicamos no exemplo anterior como uma estrutura armazena diferentes tipos de dados. Mas neste exemplo, explicaremos como podemos acessar várias instâncias de uma única estrutura. No corpo da estrutura, declaramos duas variáveis ​​inteiras.

Agora, para chamar a estrutura, iremos para nossa função principal. Na função principal, definimos dois números inteiros como Area1 e Area2, que armazenarão a área da Tabela 1 e Tabela 2, respectivamente. Criamos o primeiro objeto da nossa tabela como T1, que atuará como Tabela1, e declaramos a segunda instância de nossa estrutura como T2, que atuará como Tabela2. A comprimento da Tabela 1 recebe um valor de cinco e sua amplitude é três. Variável da área1 armazenará o valor que obteremos executando uma operação multiplicada em nossos números inteiros T1. Os valores atribuídos à Tabela 2 são 7 e 5. A área 2 armazenará a saída de multiplicar esses valores entre si. Por fim, imprimimos a saída para obter nossos resultados do código.

O sistema dará isso como uma saída. Atribuímos 5 e 3 à nossa instância T1 e, com a ajuda do objeto de nossa estrutura, realizamos uma operação matemática em nossos dados.

Atribuímos 7 e 5 ao nosso objeto T2 e também nos deu a produção após a operação. Portanto, fica claro que, com a ajuda de uma única estrutura e duas variáveis, operamos em vários objetos. Primeiro, calculamos a área da Tabela 1 e depois a área da Tabela2. Esta é uma instância para mostrar como as instâncias e objetos da estrutura funcionam.

Conclusão

Neste guia, discutimos como as estruturas são implementadas no idioma C. Você pode aprender mais sobre as estruturas usando vários exemplos baseados em cenários. Você pode até se apossar dele praticando exemplos com diferentes casos. As estruturas nos permitem usar suas instâncias quantas vezes precisamos e criar quantos registros quiser. Além disso, eles não apenas permitem que você crie várias instâncias e diferentes tipos de dados, mas também permite que você execute toda a matemática, aritmética e outras operações relacionadas a esses tipos de dados. É uma abordagem eficiente para lidar com vários registros.