我宣佈一個頭文件中的結構,讓我們以此爲例子:如何在main.c中使用另一個.c文件中定義的結構?
//file.h
#ifndef FILE_H_INCLUDED
#define FILE_H_INCLUDED
typedef struct {
int x;
int y;
} Point;
#endif // FILE_H_INCLUDED
然後我定義的另一個文件結構,包含的函數原型,我將在main.c中使用:
//functions.c
#include "file.h"
Point p = {{1},{2}};
現在我的問題是,我怎麼能在main.c上使用該結構?想這樣做:
//main.c
#include "file.h"
printf("Point x: %d", p.x);
現在,我真正的結構得到了8場,它的40個元素的數組,所以它的40行的代碼,我想不把它放在main.c中,因爲我希望它儘可能清楚。我不能使用全局變量tho。
看起來你已經在使用一個全局變量'p'。 – aschepler
那應該是什麼定義呢? – Simone
如果它在另一個文件中並且不是全局的,那麼它不能直接在該文件之外訪問。所以你的兩個要求似乎是矛盾的。你可以在'function.c'中定義一個函數,如果可以接受'''返回'p'或指向'p'的指針。 – kaylum