CriandoBits
Identifique-se Entrar Esqueceu a senha? Esqueci minha senha

C/C++ - Struct

Por Benedito Silva Júnior - publicado em 20/06/2016


Uma estrutura (struct) é um grupo de dados correlacionados, agrupados sob um único nome. Enquanto os elementos de um array são todos do mesmo tipo, os elementos de uma estruturas, conhecidos como membros, podem ser de diferentes tipos.

As estruturas são equivalentes aos records do Pascal, ou aos tipos user-defined do Basic. Em todas essas linguagens, a possibilidade de agrupar diferentes tipos na mesma construção representa um recurso muito flexível de poderoso para manuseio de dados.

Um exemplo de uso de uma estrutura é em um registro de banco de dados. Suponhamos que queremos escrever um programa de folha de pagamento que registre os seguintes fatos sobre cada funcionário:

- Nome;
- Número de meses no emprego;
- Salário por hora.

Cada um desses itens requer um tipo diferente de dado. O nome pode ser armazenado em uma string (array de char), enquanto um inteiro poderá conter o número de meses no emprego. O salário por hora pode conter uma fração; por isso, será armazenado em uma variável de ponto flutuante.

Embora cada uma dessas variáveis seja de um tipo diferente, podemos agrupá-las todas em uma estrutura única, formando um registro. O programa abaixo, ilustra como isso é feito.

#include <iostream.h> #include <string.h> // Declara uma struct struct funcionario { char nome[32]; int numMeses; float salarioHora; }; // Fim de struct funcionario // Protótipo void exibe(struct funcionario func); int main() { // Declara uma variável do tipo struct funcionario struct funcionario jose; // Inicializa a struct strcpy(jose.nome, "Jose da Silva"); jose.numMeses = 36; jose.salarioHora = 25.59; // Exibe os dados do funcionario jose exibe(jose); return 0; } // Fim de main() // Definição da função void exibe(struct funcionario func) { cout << "Nome: " << func.nome << "\n"; cout << "Meses no emprego: " << func.numMeses << "\n"; cout << "Salario por hora: " << func.salarioHora << "\n"; } // Fim de exibe()


 
Voltar a pagina anteriorVoltarSubir ao topo da páginaTopo