Partilhar via


Tipos incompletos

Um tipo incompleto é um tipo que descreve um identificador, mas carece das informações necessárias para determinar o tamanho do identificador. Um tipo incompleto pode ser:

  • Um tipo de estrutura cujos membros você ainda não especificou.

  • Um tipo de sindicato cujos membros você ainda não especificou.

  • Um tipo de matriz cuja dimensão você ainda não especificou.

O void tipo é um tipo incompleto que não pode ser concluído. Para completar um tipo incompleto, especifique as informações ausentes. Os exemplos a seguir mostram como criar e concluir os tipos incompletos.

  • Para criar um tipo de estrutura incompleta, declare um tipo de estrutura sem especificar seus membros. Neste exemplo, o ps ponteiro aponta para um tipo de estrutura incompleta chamado student.

    struct student *ps;
    
  • Para completar um tipo de estrutura incompleta, declare o mesmo tipo de estrutura posteriormente no mesmo escopo com seus membros especificados, como em

    struct student
    {
        int num;
    }                   /* student structure now completed */
    
  • Para criar um tipo de matriz incompleta, declare um tipo de matriz sem especificar sua contagem de repetição. Por exemplo:

    char a[];  /* a has incomplete type */
    
  • Para concluir um tipo de matriz incompleta, declare o mesmo nome posteriormente no mesmo escopo com sua contagem de repetição especificada, como em

    char a[25]; /* a now has complete type */
    

Ver também

Declarações e Tipos