Fala Moçada Imp Games, após muito tempo sem postar nada, venho hoje lhes postar um Tutorial a Nível Avançado sobre Structs em Português bem Claro Estruturas.
Algumas Funções ainda não foram vistas, explicarei todas e para que elas servem.
Struct são variáveis que agregam várias outras Variáveis,
os tipos agregados podem ser tipos primitivos ou mesmo outras Structs
Código:#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct Cdtro // Declarando a Estrutura
{
char nome[50]; // Variavel dentro da Struct
struct //Declarando uma Estrutura dentro de Outra
{
int dia; // Variavel dentro da Struct
int mes; // Variavel dentro da Struct
int ano; // Variavel dentro da Struct
}datanasc; // Dando o nome da 2º Struct de " datanasc "
}; // Aqui não dei o nome da Struct, por que se eu Declarasse ela Seria Variável Global
int main(void)
{ // comando que Inicia bloco ou programa
struct Cdtro Cadastro[2]; // Aqui minha Estrutura Recebe um Nome, ou seja será Variável Local
int i; // Declarando um Contador
printf("\n\t\t\tCadastro de Clientes"); //imprimindo instruções
for(i = 0; i < 2; ++ i)
{ // Iniciando o 1º For
printf("\n\nInforme Seu nome : "); //imprimindo instruções
scanf("%s", &Cadastro[i].nome);
printf("\nInforme a Data de Nascimento dd/mm/aaaa : "); //imprimindo instruções
scanf("%d/%d/%d", &Cadastro[i].datanasc.dia,
&Cadastro[i].datanasc.mes,
&Cadastro[i].datanasc.ano);
} // Fechando o 1º For
for(i = 0; i < 2; ++ i)
{ // Iniciando 2º o For
printf("\n%s Nascido em %d/%d/%d", Cadastro[i].nome, //imprimindo instruções
Cadastro[i].datanasc.dia,
Cadastro[i].datanasc.mes,
Cadastro[i].datanasc.ano);
} // Fechando 2º o For
printf("\n"); //Quebra de Linha
system("\nPause"); // Comando usado para " Segurar " pausar Compilação
return 0; // Minha Função Retornará 0
} //comando que finaliza bloco ou programa
Breve Explicação:
Não Adicionei nome na 1ª Estrutura pois não queria que ela se tornasse Variável Global, pois a mesma quando Executada irá Alocar um espaço na Memória, e só irá parar de usar esse espaço quando o Programa for Finalizado, em termos de Desempenho seria um total desperdício de Memória, já em outros é totalmente Útil.
Informação
Créditos pelo Tutorial : Sup_Anjo