omitir o nome temporario, mas sempre deve atribuir um nome a essa estrutura senao nao tera como utiliza-la.Agora voltemos ao nosso codigo e agora vamos criar as variaveis que guardarao os contactos.#include <stdio.h>//biblioteca de entrada e saida padrao(standard input output) #include <stdlib.h>//incluir a biblioteca padrao(standard library) typedef struct __contacto{ char nome[20];//string para guardar o nome char morada[40];//string para guardar a morada char email[20];//string parar guardar o email int numeroCelular;//inteiro para guardar o numero de celular}contacto;main(){ contacto novoContacto;//criamos uma variavel do tipo contacto strcpy(novoContacto.nome,"Lily Duarte");//copiamos Lily Duarte para o campo nome da variavel novoContacto strcpy(novoContacto.morada,"C.Praia");//copiamos C.Praia para o campo morada da variavel novoContacto strcpy(novoContacto.email,"lily12345_beutll@email.com");//copiamos lily12345_beutll@email.com para o campo email da variavel novoContacto novoContacto.numeroCelular = 12389088;}Agora sim comecamos a criar a nossa agenda em si, e ate inserimos algumas entradas nela,mais concretamente o contacto de Lily.Na linguagem C quando voce quer popular uma string com algo voce tem de usar a funcao strcpy(string1,string2), aonde ele vai passar a string2 para string1! Repare que a variavel novoContacto nao possui absolutamente nada e por isso voce nunca vai utiliza-la, o que voce vai utilizar sao os campos do novoContacto mais concretamente(nome,email,morada e celular). Se voce fizer algo como:novoContacto = "Lily Duarte";ou algo como:novoContacto = 12389088;voce ira receber um verdadeiro pontape do compilador (e meu se eu estivesse ali) simplesmente porque ele nao vai saber aonde guardar esse valor (e eu tambem nao), e tambem porque sendo novoContacto uma variavel estrutura (do tipo estrutura criado por voce) ela seria uma variavel composta,ou seja, uma variavel constituida por outras variaveis o que leva voce a ser especifico que subvariavel da estrutura voce esta acessando.Para que podermos guardar varios contactos na nossa agenda, voce ja viu logo que teriamos que criar varias variaveis do tipo contacto, ou seja algo como:#include <stdio.h>//biblioteca de entrada e saida padrao(standard input output) #include <stdlib.h>//incluir a biblioteca padrao(standard library) typedef struct __contacto{ char nome[20];//string para guardar o nome char morada[40];//string para guardar a morada char email[20];//string parar guardar o email int numeroCelular;//inteiro para guardar o numero de celular}contacto;main(){ contacto novoContacto;//criamos uma variavel do tipo contacto contacto novoContacto1;//criamos uma variavel do tipo contacto contacto novoContacto2;//criamos uma variavel do tipo contacto contacto novoContacto3;//criamos uma variavel do tipo contacto}E ja viu que se quisessemos guardar 100 contactos teriamos que multiplicar a linha acima por 25 e teriamos um programa totalmente desgracado,mas voce so faria isso se quisesse ganhar o campeonato de programas instaveis e dificeis de debuggar alem de fazer figura de parvo perante aquela garota mais linda da sala e/ou da faculdade (a Lily por exemplo),e aqui que entra o array, porque se pensar bem, escrevendo 100 linhas em que cada uma cria uma variavel do tipo contacto diferente e o mesmo que criar um array do tipo contacto com 100 posicoes so que a segunda opcao e bem melhor n vezes,entao vamos racionalizar e optimizar o nosso programa de agenda:#include <stdio.h>//biblioteca de entrada e saida padrao(standard input output) #include <stdlib.h>//incluir a biblioteca padrao(standard library) typedef struct __contacto{ char nome[20];//string para guardar o nome char morada[40];//string para guardar a morada char email[20];//string parar guardar o email