Noções básicas de estrutura para programação C

Você pode pensar na estrutura da linguagem de programação C como um multivariada,

ou várias variáveis ​​em um só. Você usa estruturas para armazenar ou acessar informações complexas. Dessa forma, você pode manter vários int, char, float variáveis, e até mesmo matrizes, tudo em um pacote puro.

noções básicas de struct

A estrutura não é um tipo de variável. Em vez disso, pense nisso como um quadro que contém vários tipos de variáveis. De muitas maneiras, a estrutura é semelhante a um registro em um banco de dados. Por exemplo:

NameAgeGambling dívida

Estes três itens podem ser campos em um registro de banco de dados, mas eles também podem ser membros de uma estrutura: Nome seria um Idade string-, uma dívida integer- e jogos de azar, um valor de ponto flutuante não assinado. Veja como tal registro ficaria como uma estrutura em C:

struct {char nome [32] -int dívida idade-float -} recorde -

struct é uma palavra-chave linguagem C, que introduz, define ou cria uma nova estrutura.

ficha é o nome da nova estrutura a ser criado.

Dentro das chaves habitam membros da estrutura, as variáveis ​​contidas na estrutura nomeado. O tipo de estrutura de registro contém três variáveis ​​de membros: um nome de cadeia, uma idade int chamado, e um valor flutuante, de dívida.

Para usar a estrutura, você deve declarar uma variável estrutura do tipo de estrutura que você criou. Por exemplo:

struct registro humanidade

Esta linha declara uma nova variável do tipo de estrutura de registro. A nova variável é chamada humano.

variáveis ​​de estrutura também pode ser declarado quando você define a estrutura em si. Por exemplo:

registro struct {char nome [32] -int idade-float dívida-} humanidade

Estas declarações definir a estrutura de registro e declarar uma variável estrutura de registro, humano. Várias variáveis ​​desse tipo de estrutura pode também ser criada:

registro struct {char nome [32] -int idade-float dívida-} bill, mary, dan, susie-

Quatro variáveis ​​estrutura de registro são criadas neste exemplo. Cada variável tem acesso aos três membros definidos na estrutura.

Para acessar membros de uma variável de estrutura, você usar um período, que é a operador de membro. Ele conecta-se o nome da variável estrutura com um nome de membro. Por exemplo:

printf ( "Vítima:% s n", bill.name) -

Esta declaração faz referência ao membro do nome no conta variável de estrutura. A matriz de char, ele pode ser usado em seu código como qualquer outra matriz de char. Outros membros na variável estrutura pode ser usado como suas contrapartes individuais, bem como:

dan.age = 32

Como preencher uma estrutura

Tal como acontece com outras variáveis, você pode atribuir valores a uma variável estrutura quando ele é criado. Você deve primeiro definir o tipo de estrutura e, em seguida, declarar uma variável estrutura com seus valores membro predefinido. Certifique-se de que os valores predefinidos corresponder a ordem eo tipo de membros definidos na estrutura, como mostrado na Declarar uma estrutura inicializado.

DECLARANDO uma estrutura INITIALIZED

#include int main () {presidente struct {char nome [40] ano -int -} - presidente struct primeiro = { "George Washington" de 1789} -printf ( "O primeiro presidente foi% s n", first.name ) -printf ( "Ele foi inaugurado em% d n", first.year) -Retornar (0) -}

Exercício 1: Criar um novo programa, digitando o código-fonte de declarar uma estrutura inicializado no editor. Construir e executar.

Você também pode declarar uma estrutura e inicialize-o em um comunicado:

presidente struct {char nome [40] -int ano-} primeira = { "George Washington" de 1789} -

exercício 2: Modifique o código fonte do Exercício 1, de modo que a estrutura e variável são declaradas e inicializado como um comunicado.

Embora você pode declarar uma estrutura e inicializar uma variável de estrutura, como acabamos de mostrar, você pode ir longe com esse truque apenas uma vez. Você não pode usar a técnica para declarar a segunda variável de estrutura, o que deve ser feito da maneira tradicional, como mostrado na Declarar uma estrutura inicializado.

exercício 3: Adicionar outra variável estrutura de presidente, em segundo lugar, ao seu código, inicializar essa estrutura com informações sobre o segundo presidente, John Adams, que foi inaugurado em 1797. exibição o conteúdo de ambas as estruturas.

Como fazer uma matriz de estruturas

Criando variáveis ​​de estrutura individuais, um após o outro, é tão chato e desperdício como a criação de uma série de qualquer tipo de variável individual. A solução para várias estruturas é a mesma que para múltiplas variáveis ​​individuais: uma matriz.

A matriz de estrutura é declarada como este:

struct pontuações jogador [4] -

Esta afirmação declara uma matriz de estruturas pontuações. A matriz é eleito o melhor jogador, e que contém quatro variáveis ​​de estrutura como seus elementos.

As estruturas na matriz são acedidos utilizando uma combinação de matriz e notação de estrutura. Por exemplo:

jogador [2] .name

A variável na linha anterior acessa o membro nome no terceiro elemento da matriz de estrutura jogador. Sim, esse é o terceiro elemento, porque o primeiro elemento seria referenciado como este:

jogador [0] .name

Arrays iniciar a numeração com o elemento 0, não o elemento 1.

Linha 10 em matrizes de estruturas declara uma matriz de quatro estruturas pontuações. A matriz tem o nome do jogador. As linhas 13 a 19 encher cada estrutura na matriz. Linhas 21 a 27 de exibição valores de membro de cada estrutura.

Matrizes de estruturas

principais) {pontuação # include int (struct {char nome [32] pontuação -int -} - pontuação struct jogador [4] -int x-for (x = 0-xlt; 4 x ++) {printf ( "Enter jogador% d: ", x + 1) -scanf ("% s ", jogador [x] .name) -printf (" Enter a sua pontuação: ") -scanf ("% d ", do jogador [x] .score) -} puts ( "Jogador Info")-printf("#tNametScoren")-for(x=0-xlt;4-x++){printf("%dt%st%5dn",x+1,player[x].name,player[x].score)-}return(0)-}

exercício 4: Digite o código-fonte de matrizes de estruturas em seu editor. Criar e executar o programa. Tente manter a pontuação para menos de cinco dígitos para que eles se alinham corretamente.

exercício 5: Adicione código para matrizes de estruturas para que a exibição de estruturas é classificada com a maior pontuação listada em primeiro lugar. Sim, você pode fazer isso. Classificação de uma matriz de estruturas funciona como triagem qualquer outro array.

Aqui vai uma dica: Linha 27 da solução parecida com esta:

jogador [a] = jogador [b] -

Você pode trocar os elementos de matriz estrutura, assim como você pode trocar quaisquer elementos da matriz. Você não precisa trocar os membros da variável estrutura.

menu