不完整类型

一个不完整类型是描述一个标识符的类型,但缺少必要的信息确定该标识符的大小。 “不完整类型”既可以是:

  • 结构类型尚未指定的成员。

  • 联合类型尚未指定的成员。

  • 数组类型尚未指定的大小。

无效类型不能完成的不完全类型。 若要完成了不完整类型,请指定缺少的信息。 下面的示例演示如何创建和完成不完整类型。

  • 若要创建一个不完整 framework 类型,请声明结构类型,而无需指定其成员。 在此示例中, ps 指针指向不完整的结构调用 student的类型。

    struct student *ps;
    
  • 若要完成了不完整 framework 类型,请声明同一结构类型后在与指定的,则其成员的同一范围

    struct student
    {
        int num;
    }                   /* student structure now completed */
    
  • 若要创建一个不完整数组类型,请声明数组类型,而无需指定其重复次数。 例如:

    char a[];  /* a has incomplete type */
    
  • 若要完成了不完整数组类型,请声明相同名称后在与指定的,则其重复次数的同一范围

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

请参见

概念

声明和类型