Sdílet prostřednictvím


Neúplné typy

Neúplný typ je typ , který popisuje identifikátor, ale nemá informace potřebné k určení velikosti identifikátoru. Neúplný typ může být:

  • Typ struktury, jejíž členy ještě nebyly určeny.

  • Typ sjednocení, jehož členy ještě nebyly určeny.

  • Typ pole, jehož rozměry ještě nebyly určeny.

Typ void je neúplný typ, který nelze dokončit. Chcete-li dokončit nekompletní typ, zadejte chybějící informace. Následující příklad ukazuje, jak vytvořit a dokončit nekompletní typy.

  • Chcete-li vytvořit nekompletní typ struktury, deklarujte typ struktury bez zadání jejích členů. V tomto příkladu ukazatel ps ukazuje na nekompletní typ struktury s názvem student.

    struct student *ps;
    
  • Chcete-li dokončit nekompletní typ struktury, deklarujte dále ve stejném oboru stejný typ struktury se zadanými členy, například

    struct student
    {
        int num;
    }                   /* student structure now completed */
    
  • Chcete-li vytvořit nekompletní typ pole, deklarujte typ pole bez určení počtu opakování. Příklad:

    char a[];  /* a has incomplete type */
    
  • Chcete-li dokončit nekompletní typ pole, deklarujte stejný název dále ve stejném oboru se zadaným počtem opakování, například

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

Viz také

Deklarace a typy