Como passar uma estrutura para uma função em c

Como passar uma estrutura para uma função em c
Uma estrutura tem sido amplamente utilizada como um tipo de dados definido pelo usuário na linguagem C. O objetivo do uso de estruturas em C é criar um único tipo de dados que seria usado ainda mais para agrupar várias variáveis ​​ou elementos do tipo de dados em um tipo. A estrutura tem sido usada como variável global para que todas as funções possam acessá -la facilmente. Isso significa que não pode ser declarado no método principal para que possamos usá -lo em qualquer lugar.

Sintaxe da estrutura:

A declaração da estrutura é mostrada na imagem abaixo. Começa com a palavra -chave "estrutura" junto com qualquer nome de estrutura que tenha sido dado a ele. Dentro do corpo de uma estrutura, podemos definir muitas variáveis ​​de qualquer tipo. O corpo da estrutura seria fechado com ";". Para passar uma função, usaremos dois métodos neste guia. Vejamos os dois métodos.

Exemplo 01: Passe a estrutura para uma função por valor

O primeiro método para passar uma estrutura para uma função é através do valor. Vamos usar esse método para criar um arquivo C no shell usando uma consulta de toque.

$ touch exp.c

Depois de criar um arquivo, você deve abri -lo em algum editor, eu.e., Editor do GNU Nano, usando o comando declarado abaixo.

$ nano exp.c

Após a abertura do arquivo, escreva o código dentro do arquivo, como mostrado na imagem. A primeira linha contém o cabeçalho. Uma estrutura "humana" foi declarada com duas variáveis. Um é a variável de caractere "nome" do tamanho "30". Outro é uma variável do tipo inteiro usada para armazenar a idade de um humano. A entrada foi fornecida por um usuário no tempo de execução usando o método scanf. Esta entrada foi salva nas variáveis ​​da estrutura usando os objetos. Depois disso, a estrutura foi passada para o método definido pelo usuário, mostra () como um argumento. É uma chamada de função para o método mostra (). O método de show tem tomado estrutura em seu parâmetro como valor. Os valores variáveis ​​da estrutura foram exibidos no console através da instrução PRINTF usada na função definida pelo usuário, mostrando ().

Salve seu arquivo usando a chave de atalho Ctrl+S. Depois disso, voltei ao terminal usando o atalho "Ctrl+X". Temos que compilar o código acima mencionado primeiro. O compilador "GCC" foi utilizado para esse fim. No final, a execução de um arquivo ocorre. O usuário adicionou seu nome e idade. A estrutura foi passada para mostrar () método como valor. Os valores da estrutura foram exibidos abaixo.

$ GCC Exp.c
$ . /a.fora

A saída bem -sucedida pode ser vista na janela do terminal do Ubuntu 20.04.

Exemplo 02: Passe a estrutura para uma função por referência

Agora, vamos começar com esta ilustração. Neste exemplo, estaremos analisando a estrutura que será passada para um método definido pelo usuário por meio de referência. Neste método, toda a estrutura ou valores não foram passados ​​para outra função. O endereço de estrutura de memória da variável seria passado para o método como uma referência. Então, abrimos o mesmo arquivo, “exp.C ”para atualizá -lo. Incluiu o cabeçalho padrão de entrada e saída. Criamos uma nova estrutura chamada "Cal" com duas variáveis ​​do tipo inteiro N1 e N2. O objeto de referência da estrutura "cal" foi criado. O protótipo da função do método "sum ()" foi declarado antes do método principal.

A função principal contém o método scanf () para contratar informações do usuário no momento da execução. Os valores foram passados ​​para as variáveis ​​de estrutura por referência usando seus endereços de memória. O sinal "&" foi usado aqui para vincular os endereços de memória das variáveis ​​de estrutura com os valores inseridos pelo usuário. O endereço e os valores de um objeto variável "C" e "Total" foram passados ​​para a função "soma" como uma referência.

A função "soma" tem recebido os valores das variáveis ​​de estrutura N1 e N2 por referência do objeto "C" e adicionando -as. Os valores resultantes foram salvos na variável n1. O método principal exibe a soma de ambas as variáveis.

Compilar e executar o código. O usuário adicionou dois números e a soma de ambos os números foi exibida. O GCC e “A.os comandos de fora ”foram utilizados aqui.

$ GCC Exp.c
$ . /a.fora

A saída bem -sucedida pode ser vista na janela do terminal do Ubuntu 20.04.

Conclusão:

Este artigo contém a implementação de uma estrutura de passagem para uma função definida pelo usuário na linguagem C. Duas abordagens foram utilizadas para esse fim, eu.e., por valor e referência. Enquanto aprende a passar uma estrutura para funcionar na linguagem de programação C, você pode utilizar os dois métodos. Esperamos.