불완전한 형식Incomplete Types

불완전한 형식은 식별자를 설명하지만 식별자 크기를 확인하는 데 필요한 정보는 포함하지 않는 형식입니다.An incomplete type is a type that describes an identifier but lacks information needed to determine the size of the identifier. "불완전한 형식"은 다음 형식일 수 있습니다.An "incomplete type" can be:

  • 아직 멤버를 지정하지 않은 구조체 형식A structure type whose members you have not yet specified.

  • 아직 멤버를 지정하지 않은 공용 구조체 형식A union type whose members you have not yet specified.

  • 아직 차원을 지정하지 않은 배열 형식An array type whose dimension you have not yet specified.

    void 형식은 완료할 수 없는 불완전한 형식입니다.The void type is an incomplete type that cannot be completed. 불완전한 형식을 완료하려면 누락된 정보를 지정합니다.To complete an incomplete type, specify the missing information. 다음 예에서는 불완전한 형식을 만들고 완료하는 방법을 보여 줍니다.The following examples show how to create and complete the incomplete types.

  • 불완전한 구조체 형식을 만들려면 해당 멤버를 지정하지 않고 구조체 형식을 선언합니다.To create an incomplete structure type, declare a structure type without specifying its members. 이 예에서 ps 포인터는 student라는 불완전한 구조체 형식을 가리킵니다.In this example, the ps pointer points to an incomplete structure type called student.

    struct student *ps;  
    
  • 불완전한 구조체 형식을 완료하려면 다음과 같이 멤버를 지정하여 나중에 같은 범위에서 동일 구조체 형식을 선언합니다.To complete an incomplete structure type, declare the same structure type later in the same scope with its members specified, as in

    struct student  
    {  
        int num;  
    }                   /* student structure now completed */  
    
  • 불완전한 배열 형식을 만들려면 해당 반복 횟수를 지정하지 않고 배열 형식을 선언합니다.To create an incomplete array type, declare an array type without specifying its repetition count. 예:For example:

    char a[];  /* a has incomplete type */  
    
  • 불완전한 배열 형식을 완료하려면 다음과 같이 반복 횟수를 지정하여 나중에 같은 범위에서 동일한 이름을 선언합니다.To complete an incomplete array type, declare the same name later in the same scope with its repetition count specified, as in

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

참고 항목See Also

선언 및 형식Declarations and Types