Udostępnij za pośrednictwem


Niekompletne typy

Niekompletny typ to typ opisujący identyfikator, ale nie zawiera informacji potrzebnych do określenia rozmiaru identyfikatora. Niekompletny typ może być:

  • Typ struktury, którego składowe nie zostały jeszcze określone.

  • Typ unii, którego składowe nie zostały jeszcze określone.

  • Typ tablicy, którego wymiar nie został jeszcze określony.

Typ void jest niekompletnym typem, którego nie można ukończyć. Aby ukończyć niekompletny typ, określ brakujące informacje. W poniższych przykładach pokazano, jak utworzyć i ukończyć niekompletne typy.

  • Aby utworzyć niekompletny typ struktury, zadeklaruj typ struktury bez określania jej elementów członkowskich. W tym przykładzie ps wskaźnik wskazuje niekompletny typ struktury o nazwie student.

    struct student *ps;
    
  • Aby ukończyć niekompletny typ struktury, zadeklaruj ten sam typ struktury później w tym samym zakresie z określonymi elementami członkowskimi, co w

    struct student
    {
        int num;
    }                   /* student structure now completed */
    
  • Aby utworzyć niekompletny typ tablicy, zadeklaruj typ tablicy bez określania liczby powtórzeń. Na przykład:

    char a[];  /* a has incomplete type */
    
  • Aby ukończyć niekompletny typ tablicy, zadeklaruj tę samą nazwę w dalszej części tego samego zakresu z określoną liczbą powtórzeń, co w

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

Zobacz też

Deklaracje i typy