共用方式為


不完整的類型

不完整的類型是描述識別碼的類型,但缺少判斷識別碼大小所需的資訊。 「不完整類型」可以是:

  • 您尚未指定成員的結構類型。

  • 您尚未指定成員的等位類型。

  • 您尚未指定維度的陣列類型。

類型 void 是無法完成的不完整類型。 若要完成不完整類型,請指定遺漏的資訊。 下列範例顯示如何建立和完成不完整類型。

  • 若要建立不完整的結構類型,請宣告一個結構類型,但不指定其成員。 在此範例中,ps 指標會指向名為 student 的不完整結構類型。

    struct student *ps;
    
  • 若要完成不完整的結構類型,請於稍後使用其指定的成員在相同範圍中宣告相同的結構類型,如下所示

    struct student
    {
        int num;
    }                   /* student structure now completed */
    
  • 若要建立不完整的陣列類型,請宣告一個陣列類型,而不指定其重複計數。 例如:

    char a[];  /* a has incomplete type */
    
  • 若要完成不完整的陣列類型,請於稍後使用其指定的重複計數在相同範圍中宣告相同的名稱,如下所示

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

另請參閱

宣告和類型