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.