Índice:
Vídeo: Programação em C para iniciantes: Curso Completo | Pixel Tutoriais 2025
Você pode pensar na estrutura de linguagem de programação C como uma multivariável, ou várias variáveis roladas em uma. Você usa estruturas para armazenar ou acessar informações complexas. Dessa forma, você pode manter várias variáveis int, char, flutuante e até arrays, tudo em um pacote puro.
Noções básicas de struct
Uma estrutura não é de tipo variável. Em vez disso, pense nela como uma moldura que contenha múltiplos tipos de variáveis. De muitas maneiras, uma estrutura é semelhante a um registro em um banco de dados. Por exemplo:
Nome Age Gambling debt
Estes três itens podem ser campos em um registro de banco de dados, mas também podem ser membros em uma estrutura: o nome seria uma string; Idade, um número inteiro; e Gambling Debt, um valor de ponto flutuante não assinado. Veja como esse registro pareceria como uma estrutura em C:
struct record {char name [32]; idade normal; dívida flutuante;};
struct é uma palavra-chave de linguagem C que apresenta, define ou cria uma nova estrutura.
registro é o nome da nova estrutura que está sendo criada.
Dentro dos suportes curly habitar os membros da estrutura, as variáveis contidas na estrutura nomeada. O tipo de estrutura de registro contém três variáveis de membros: um nome de string, uma idade chamada chamada e um valor de flutuante, dívida.
Para usar a estrutura, você deve declarar uma variável de estrutura do tipo de estrutura que você criou. Por exemplo:
struct record human;
Esta linha declara uma nova variável do tipo de estrutura de registro. A nova variável é chamada humana .
As variáveis de estrutura também podem ser declaradas quando você define a própria estrutura. Por exemplo:
struct record {char name [32]; idade normal; dívida flutuante;} humano;
Essas declarações definem a estrutura de registro e declarar uma variável de estrutura de registro, humano . Várias variáveis desse tipo de estrutura também podem ser criadas:
struct record {char name [32]; idade normal; dívida flutuante;} bill, mary, dan, susie;
Quatro variáveis de estrutura de registro são criadas neste exemplo. Toda variável tem acesso aos três membros definidos na estrutura.
Para acessar membros em uma variável de estrutura, você usa um período, que é o operador de membro . Conecta o nome da variável da estrutura com um nome de membro. Por exemplo:
printf ("Vítima:% sn", nome da conta);
Esta declaração faz referência ao membro do nome na variável de estrutura bill . Uma matriz de caracteres, ela pode ser usada em seu código como qualquer outra matriz de caracteres. Outros membros na variável de estrutura podem ser usados como suas contrapartes individuais também:
dan.idade = 32;
Como preencher uma estrutura
Tal como acontece com outras variáveis, você pode atribuir valores a uma variável de estrutura quando ela for criada. Você deve primeiro definir o tipo de estrutura e depois declarar uma variável de estrutura com seus valores de membros predefinidos. Certifique-se de que os valores predefinidos correspondem à ordem e ao tipo de membros definidos na estrutura, conforme mostrado em Declarando uma Estrutura Inicializada.
DECLARANDO UMA ESTRUTURA INICIALIZADA
#include int main () {struct president {char name [40]; ano int;}; struct president first = {"George Washington", 1789}; printf ("O primeiro presidente foi% sn", primeiro nome); printf ("Ele foi inaugurado em% dn", primeiro ano); retornar (0);}
Exercício 1 : Crie um novo programa digitando o código-fonte de Declarar uma Estrutura Inicializada no editor. Construa e execute.
Você também pode declarar uma estrutura e inicializá-la em uma declaração:
struct president {char name [40]; int year;} first = {"George Washington", 1789};
Exercício 2 : Modifique seu código-fonte do Exercício 1 para que a estrutura e a variável sejam declaradas e inicializadas como uma declaração.
Embora você possa declarar uma estrutura e inicializar uma variável de estrutura como mostrado, você pode fugir com esse truque apenas uma vez. Você não pode usar a técnica para declarar a segunda variável de estrutura, que deve ser feita da maneira tradicional, como mostrado em Declarando uma Estrutura Inicializada.
Exercício 3 : Adicione outra variável de estrutura do presidente, em segundo lugar, ao seu código, inicializando essa estrutura com informações sobre o segundo presidente, John Adams, que foi inaugurado em 1797. Exibe o conteúdo de ambas as estruturas.
Como criar uma matriz de estruturas
A criação de variáveis de estrutura individuais, uma após a outra, é tão chata e desperdiçadora quanto a criação de uma série de qualquer tipo de variável individual. A solução para múltiplas estruturas é a mesma que para múltiplas variáveis individuais: uma matriz.
Uma matriz de estrutura é declarada assim:
struct scores player [4];
Esta declaração declara uma série de estruturas de pontuação. A matriz é chamada de player, e ela contém quatro variáveis de estrutura como seus elementos.
As estruturas na matriz são acessadas usando uma combinação de matriz e notação de estrutura. Por exemplo:
player [2]. nome
A variável na linha anterior acessa o nome do membro no terceiro elemento na matriz da estrutura do jogador. Sim, esse é o terceiro elemento porque o primeiro elemento seria referenciado assim:
player [0]. nome
Arrays começam a numeração com o elemento 0, não o elemento 1.
A Linha 10 em Arrays of Structures declara uma matriz de quatro estruturas de pontuação. A matriz é chamada de jogador. As linhas 13 a 19 enchem cada estrutura na matriz. As linhas 21 a 27 exibem os valores de cada membro da estrutura.
ARRAYS OF STRUCTURES
#include int main () {struct scores {char name [32]; int score;}; Jogador de partidas struct [4]; int x; para (x = 0; x <4; x ++) {printf ("Enter player% d:", x + 1); scanf ("% s", player [x].nome); printf ("Insira a pontuação:"); scanf ("% d", & player [x]. score);} coloca ("Player Info"); printf ("# tNametScoren"); para (x = 0; x <4; x ++) {printf ("% dt% st% 5dn", x + 1, jogador [x]. nome, jogador [x]. pontuação);} retorno (0);}
Exercício 4 : Digite o código-fonte de Arrays of Structures em seu editor. Crie e execute o programa. Tente manter os escores para menos de cinco dígitos para que eles se alineem corretamente.
Exercício 5 : Adicionar código a Arrays of Structures para que a exibição de estruturas seja ordenada com a maior pontuação listada primeiro. Sim, você pode fazer isso. Classificar uma matriz de estruturas funciona como classificar qualquer outra matriz.
Aqui está uma dica: a linha 27 da solução parece assim:
player [a] = player [b];
Você pode trocar elementos de matriz de estrutura exatamente como você pode trocar todos os elementos da matriz. Você não precisa trocar os membros da variável da estrutura.
