Compartilhar via


Tipos incompletos

Um tipo incompleto é um tipo que descreve um identificador, mas não tem as informações necessárias para determinar o tamanho do identificador.Um "tipo incompleto" pode ser:

  • Um tipo de estrutura cujos membros ainda não foi especificado.

  • Um tipo de união cujos membros ainda não foi especificado.

  • Um tipo de matriz cuja dimensão ainda não foi especificado.

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

  • Para criar um tipo de estrutura incompleta, declare um tipo de estrutura sem especificação de seus membros.Neste exemplo, o ps pontos de ponteiro para um tipo de estrutura incompleta chamados student.

    struct student *ps;
    
  • Para concluir um tipo de estrutura incompleta, declara o mesmo tipo de estrutura mais tarde 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, declara o mesmo nome mais tarde no mesmo escopo com sua contagem de repetição especificada, como em

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

Consulte também

Conceitos

Declarações e tipos