UFSM > Ciência da Computação

Primeiro Semestre de 2013
Professora: Juliana Kaizer Vizzotto

Estruturas em C

  1. Estruturas são coleções de variáveis relacionadas e agrupadas sob um único nome.

  2. Podem conter variáveis de muitos tipos de dados diferentes - diferentemente dos arrays, que contém apenas elementos do mesmo tipo.

  3. Estruturas são tipos de dados derivados, são construídas a partir de objetos de outros tipos.

    struct card{
          int face;
          int naipe;
    };
    

  4. Declarando uma variável do tipo estrutura e setando seus campos:

    int main(){
      ...
      struct card c;
      c.face=1;
      c.naipe=0;
     }
    
  5. Ainda podemos dar um nome ao novo tipo:
     struct card{
           int face;
           int naipe;
     };
     typedef struct card Card;
     int main(){
       ...
       Card c;
     }
    

  6. Ainda, os campos das estruturas podem ser ponteiros:

     struct card{
      char *face;
      char *naipe; 
     };
    

  7. Dois operadores são utilizados para acessar os membros das estruturas: o operador de membro da estrutura (.) - também chamado de operador de ponto - e o operador de ponteiro de estrutura (->) - também chamado de operador de seta. Como vimos, o operador de membro/campo da estrutura acessa um membro da estrutura através do nome da variável da estrutura, mais o operador e mais o nome do membro/campo. Por exemplo:

      ...
     struct card {
          char *face;
          char *naipe;
      };
     typedef struct card Card;
     int main(){
       Card aCard;
       Card *cardPtr;
       aCard.face = "As";
       aCard.naipe = "Espadas";
      cardPtr=&aCard;
      printf("%s%s%s\n%s%s%s\n%s%s%s\n",aCard.face, " de ", aCard.naipe,
              cardPtr->face, " de ", cardPtr->naipe,
              (*cardPtr).face," de ",(*cardPtr).naipe);
     return 0;
     }
    

Página criada em: Seg Jul 15 15:00:00 BRT 2013. Última atualização em: Mon Jul 15 10:53:48 2013. Autoria: Juliana Kaizer Vizzotto.