Neúplné typy

Nekompletní typ je typ, který popisuje identifikátor, ale neobsahuje informace potřebné k určení jeho velikosti."Nekompletní 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 nekompletním typem, 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é

Koncepty

Deklarace a typy