구조체를 정의 할 때 struct를 사용할 수 있지만 선언 할 때 함수 나 구조체를 어떻게 선언 할 수 있습니까? 당신이이 없으면extern struct를 어떻게 선언합니까?
test.h
extern struct foo;
typedef int (*test)(FOO *f);
typedef struct foo
{
char a;
test *t;
} FOO;
int haha(FOO *f) { return 0;}
typedef struct foo
{
char a;
test *t;
} FOO;
TEST.C는
int main() {FOO e; return 0; }
포인터 문제뿐만 아니라 'extern'에 관해 특별히 질문했습니다. extern struct가 무엇을 의미합니까? 달성하고자하는 것은 무엇입니까? 이 컴파일 단위는 구조체의 내용을 사용해야하는 경우 완전한 정의가 필요합니다. 구조체의 extern 인스턴스를 의미 했습니까? 내 구조체에 – Rup
난 함수 또는 구조체 foo 포인터가 필요합니다. 함수 또는 구조체 foo 매개 변수 또는 구성원 prev 구조체 있습니다. 문제는 struct dependence를 함께 선언하는 방법입니다. 변수가 아닙니다. –
좋아, 그래서 아래의 답변을 당신이 원하는 것입니다 : 포인터를 구조체 대신 임베디드 구조체 멤버 선언해야합니까. 함수 포인터는 그냥 잘 작동합니다. – Rup