構造体を定義する必要があります。
//globalstruct.h
typedef struct _GlobalStruct {
int a, b;
} GlobalStruct
GlobalStruct
含めるだけで好きな場所で使用できますglobalstruct.h
例えば:
//test.c
#include globalstruct.h
void test(GlobalStruct *gs){...}
これどうやってするの?
よろしく
- - 編集 - -
私は完全に立ち往生しているので、私の質問をもう少し明確にする必要があると思います。
//main.c
#include "gstruct.h"
#include "a.h"
#include "b.h"
...
void something(GlobalStruct *gs){...}
。
//gstruct.h
#ifdef gstruct_h
#define gstruct_h
typedef struct _GlobalStruct{
int a, b;
} GlobalStruct;
#endif
。
//a.h
#ifdef a_h
#define a_h
#include "gstruct.h"
GlobalStruct a_something(...);
#endif
。
//a.c
#include "gstruct.h"
#include "a.h"
GlobalStruct a_something(...){...}
。
//b.h
#ifdef b_h
#define b_h
#include "gstruct.h"
GlobalStruct b_something(...);
#endif
。
//b.c
#include "gstruct.h"
#include "b.h"
GlobalStruct b_something(...){...}
。
これでいい?それが私が本当に愚かな/小さい/愚かな何かを逃しているのなら。
ところで、私はコンパイルしていますgcc main.c a.c b.c -o the_thing
---2番目の編集----
オンラインの例を作成したので、それを見て、ダウンロードして試してみてください。コンパイルの準備はできていますが、コンパイル時に失敗します。