17-08-2004 ESTRUTURAS # Uma estrutura é um tipo de dados que perminte agrupar um conjunto de variáveis diferentes sob um único nome # Cada variável da estrutura é chcamado de de membro ou campo struct { ; ; : ; }; //É necessario o ponto e virgula # A definição de estrutura não cria nenhuma variável, apenas informa ao compilador as caracteristicas de um novo tipo de dados. Ex: struct tipoaluno { char nome[30]; int nmat; double nota; }; # Declarando uma variável do tipo estrutura ; Ao declarar uma variável do tipo estrutura, é reservado na memoria um espaço suficiente para armazenar todos os campos da estrutura. Os campos de uma variável estrutura são armazenados uma sequencia continua na memoria Ex: tipoaluno a; // A variável ocupa 44bytes (30 p/ aluno, 2 p/ nmat e 12 p/ nota) Acessando os membros da estrutura nome_variavel.nome_campo Dessa forma, o campo pode ser usado como uma variável do seu tipo original a.nmat=1054; Inicializando uma variável estrutura na inicialização tipoaluno a={"José,1054,{7.5,3.5,6.9}}; É possivel atribuir uma variável estrutura a outro variavel estrutura do mesmo tipo da forma mais simples possivel: var1=var2; // Todas as variáveis de var2 sao atribuidas a var1 automaticamente Qualquer outra manipulacao na estrutura deve ser feita campo a campo. #include #include #include // Define um novo tipo de dados estrutura struct tipoaluno { char nome[30]; int nmat; double nota[3]; }; void main() { tipoaluno a={"José,1054,{7.5,3.5,6.9}}; tipoaluno b,c; int i; // Le os dados da variável b cout << "Aluno b\n"; cout << "Nome:\n"; gets(b.nome); cout << "Numero da matricula:\n"; cin >> b.nmat; for(i=0;i<3;i++) { cout << "\nNotas\t" << (i+1) << ": "; cin >> b.notas[i]; } c=b; cout << "\n\n\tImpressao\n\n";