불완전한 형식
불완전한 형식은 식별자를 설명하지만 식별자 크기를 확인하는 데 필요한 정보는 포함하지 않는 형식입니다. 불완전한 형식은 다음 형식일 수 있습니다.
아직 멤버를 지정하지 않은 구조체 형식
아직 멤버를 지정하지 않은 공용 구조체 형식
아직 차원을 지정하지 않은 배열 형식
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 */