Aprendendo a Programar Programando em Linguagem C - FSM
Aprendendo a Programar Programando em Linguagem C - FSM
Aprendendo a Programar Programando em Linguagem C - FSM
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
9 Estruturas e Arquivos<br />
9.1 O que são estruturas<br />
Um vetor é capaz armazenar diversos valores, com a ressalva de que todos sejam de um mesmo tipo<br />
de dado. Um programa que gerencie os recursos humanos de uma <strong>em</strong>presa manipula dados de tipos<br />
diferentes relativos a cada um dos funcionários. Por ex<strong>em</strong>plo, para cada funcionário deve-se ter sua<br />
matrícula, seu nome, seu endereço, o cargo que ele ocupa, o número de seus dependentes, o seu salário, a<br />
data de admissão, etc. Observe que, nome, matrícula, endereço, data de admissão e cargo que ele ocupa<br />
pod<strong>em</strong> ser tratados com variáveis do tipo string, porém, como eventualmente haverá necessidade de se<br />
efetuar operações aritméticas com eles, o número de dependentes deve ser tratado como do tipo int e valor do<br />
salário, do tipo float.<br />
A utilização de uma variável simples para cada um destes el<strong>em</strong>entos, implicaria, como são vários<br />
funcionários, a necessidade de vários vetores, o que poderia atrapalhar a legibilidade e a manutenção do<br />
programa, al<strong>em</strong> de dificultar a possibilidade de armazenamento dos dados <strong>em</strong> disco, conforme ver<strong>em</strong>os<br />
numa seção posterior.<br />
Uma estrutura é um conjunto de variáveis, denominadas campos ou m<strong>em</strong>bros, que pod<strong>em</strong> ser de tipos<br />
diferentes. É comum se associar um identificador a uma estrutura, chamado etiqueta da estrutura, para que se<br />
possa definir uma variável deste tipo.<br />
A definição de uma estrutura é feita com a seguinte sintaxe:<br />
struct TEstrutura<br />
{<br />
Tipo de dado Identificador do campo 1;<br />
Tipo de dado Identificador do campo 2;<br />
. . .<br />
Tipo de dado Identificador do campo n;<br />
};<br />
onde, para cada campo, Tipo de dado pode ser qualquer tipo, até mesmo uma estrutura. Se esta declaração<br />
for feita fora de qualquer função, a estrutura TEstrutura será global e qualquer função do programa pode<br />
declarar uma variável capaz de armazenar valores de acordo com os tipos de dados dos campos, isto sendo<br />
feito a partir de uma declaração do tipo<br />
struct TEstrutura Identificador;<br />
Por ex<strong>em</strong>plo, para o programa do ex<strong>em</strong>plo acima poderíamos definir as estruturas<br />
struct TEndereco<br />
{<br />
char Rua[40];<br />
char Numero[5];<br />
char Bairro[10];<br />
char Cep[9];<br />
};<br />
struct TEstrutura<br />
{<br />
char Matricula[11];<br />
char Nome[40];<br />
struct TEndereco Endereco;<br />
int NumDependentes;<br />
float Salario;<br />
char Cargo[8];<br />
};<br />
e então uma função poderia ter uma variável declarada da seguinte forma:<br />
struct TEstrutura Registro;