2
A
回答
4
我假設你是問有關「C」,而不是「C#」,因爲你的問題是指「.c」的文件,而不是「的.cs」文件,等等:
做一個頭文件,並把結構那裏。
包括用在main.c中頭文件和app.c
#include "yourFileNameHere.h"
2
通常你定義一個函數原型與包括警衛保護的頭文件:
//module.h
#ifndef MODULE_H //include guard begin
#define MODULE_H
struct foobar{
void *a_field;
};
void prototype(void);
#endif //include guard end
包括警衛阻止一些包括不同文件需要包含相同標題時的衝突。他們保證它只會包含一次。
然後你就可以包括頭部與C擴展實現了定義原型文件:
//module.c
#include "module.h"
void prototype(void){
//implement prototype function
struct foobar f;
}
通常每頭文件中都有相關的C文件(這不是強制性的,它是一個慣例)。如果您只需要定義結構,則甚至不需要與頭文件關聯的C文件。如果你還有一些函數原型要實現,那麼這是組織代碼的好方法。
然後包括在所有其他文件中的頭文件需要它裏面所定義的功能或結構:
//otherfile.c
#include "module.h"
struct foobar f;
prototype(); //you can now call prototype function from this file
現在,可以編譯和這兩個文件鏈接在一起(prototype.c,otherfile.c)
0
既然你說你要重複使用在不同的源文件結構的值我假設你在main.c中定義的結構類型的變量,如:
struct <mystruct> foobar;
如果你想在app.c使用此相同的foobar的,您必須聲明,變量有作爲,並增加EXTERN:
extern struct <mystruct> foobar;
+0
我認爲這個問題是在一個不同的C文件中重用一個結構'定義',而不是該結構類型的全局變量。我認爲我們不能真正extern結構定義。 externs只適用於佔用一些有形記憶的變量 – suppie
相關問題
- 1. 如何使用在另一個文件中.c文件中定義的結構
- 2. 如何在main.c中使用另一個.c文件中定義的結構?
- 3. 在另一個結構中使用一個結構c
- 4. 如何在另一個結構中使用一個結構?
- 5. 如何訪問另一個結構中的結構數組?
- 6. 在CPP文件中實現並在另一個類中使用的C++結構
- 7. 如何用另一個文件中的數據替換文件中的數據?
- 8. 如何在另一個結構中使用帶有結構的結構對象?
- 9. (C++)如何從另一個文件調用結構?
- 10. 如何在另一個模板化結構中使用模板化結構(C++)
- 11. 如何訪問另一個文件中的結構元素?
- 12. 如何刪除ColdFusion中另一個結構中的結構
- 13. 使用結構將一個文件導入另一個文件?
- 14. 如何將轉儲文件中的數據插入到具有不同數據結構的另一個表中?
- 15. 如何將一個數據庫的一個表設計結構用於另一個數據庫表結構
- 16. 如何將數據結構寫入c中的fput文件?
- 17. 入門環結構的數據到一個文件用C
- 18. 如何解開另一個結構內的C風格結構?
- 19. 在另一個JS一個js文件中如何使用數據文件
- 20. 如何的PInvoke在C#的結構的數組另一個結構
- 21. 根據另一個結構創建文件結構的批處理文件
- 22. 如何訪問另一個結構中的結構變量?
- 23. 如何使用reactjs中另一個js文件中的函數?
- 24. Android:從另一個文件中的數據構建數組
- 25. 如何使用Fortran的c頭文件中定義的結構?
- 26. C++中的數據結構
- 27. C指針結構 - 緩衝區指向另一個結構。如何在C#中?
- 28. 如何進行結構這是另一種結構的用C
- 29. 如何將C數據結構轉換爲C#結構,使您可以從文件中讀取數據類型?
- 30. 使用一個表中的數據排除另一個結果
這是關於C或C#? –
我很確定它是基於問題和標題的C語言。我編輯了標籤以符合這個假設... – Zach
等待你想共享一個結構定義或者所述結構的值嗎? – Lalaland