1樓:小鹿小梨
使用前宣告這些變數即可(使用extern關鍵字表示是外部定義過的變數)。但要注意,全域性變數只能定義一次,否則就會犯重複定義的錯誤。
/* 示例 */
file1.c
int i, j; //定義全域性變數
char c;
void fun( )
file2.c
extern int i,j; //外部變數宣告extern char c;
void func1( )
2樓:
直接把結構體定義成全域性變數就行,哪個檔案需要就extern
3樓:無名逃兵
把結構的定義寫到標頭檔案裡邊,然後再其他檔案裡#include就行了
4樓:你丶好
只要將結構體宣告放在全域性變數處
其他用法與全域性變數相同
5樓:小小鳥
把結構體定義在.h檔案中也就是標頭檔案中
6樓:匿名使用者
//main.c
#include
#include
#include "extern.h"
int print(char *str,test t);
test t=;
int main()
//extern.h
#ifndef extern_h_included#define extern_h_includedtypedef structtest;
extern test t;
extern int print(char *str,test t);
#endif // extern_h_included//extern.c
#include "extern.h"
#include
//struct stu std1;
//extern float inta;
int print(char *str,test t)
7樓:匿名使用者
你定義一個全域性的結構體變數噻
8樓:己飢己溺
fortware 
碼齡8年
關注該死的結構體,折騰了哥快兩小時!!!在此總結一下。
假設a.h檔案定義結構體:
struct test
;那麼要在b.c檔案中呼叫該怎麼寫呢?
需要兩步:
1、標頭檔案包含
#include "a.h"
2、先定義一個結構體變數(注意是定義,不是宣告)struct test c;
2、在b.c檔案中宣告要呼叫的結構體變數(注意是宣告,宣告為全域性變數)
extern struct test c;
3、然後就可以給結構體成員賦值
/*成員賦值*/
c.a = 1;
c.b = 2;
當然,如果變數定義為結構體指標變數,則變成如下:
/*定義*/
struct test *c;
/*宣告*/
extern struct test *c;
/*成員賦值*/
c->a = 1;
c->b = 2;
另外還有另一個變種,使用typedef 定義結構體typedef struct test
result;
/*定義*/
result c;
/*宣告*/
extern result c;
/*成員賦值*/
c.a = 1;
c.b = 2;
result是一個結構體型別,不是結構體變數,定義變數like this :result y0,y1;y0、y1才屬於結構體變數。實際上 result = struct test全文
怎樣使c語言全域性變數在多個檔案中使用?
9樓:謂之
extern 關鍵字
extern int i;這樣就可以在其他檔案中使用在標頭檔案中宣告版
a.hextern int i;
在其他某
個c檔案中定義權
int i =0;
其他要使用i變數的c原始檔只需要include"a.h"就可以
c語言中如何將結果傳遞給另c語言檔案
拒絕996的瀟灑程式設計師 通過函式的傳址引數 引用或指標 或返回值傳遞。多個人合作時,必須提前約定好介面函式的宣告格式。這裡的所謂介面函式就是所有可能需要用來互相傳遞結果的函式 這個要用 版本管理工具,有商用的也有開源的。開源的比如svn,cvs,商用的如clearcase等。工作的模式基本上是 ...
C語言中定義結構體如何在不同的 C檔案中使用
家谷秋魯曠 struct node 這樣就定義了一個結構體型別node,它有兩個int型別的成員,分別是a和b,定義變數是用 struct node st a 這樣的形式.例如,上式就定義了一個名為st a的結構體變數 橙心橙願 比如三個.c檔案一個.h檔案 c 2.c 3.c 4.h這三個標頭檔案...
c語言如何將賦值過的陣列置空,C語言 如何將一個賦值過的陣列置空
幻翼高達 需要準備的材料分別有 電腦 c語言編譯器。1 首先,開啟c語言編譯器,新建一個初始.cpp檔案,例如 test.cpp。2 在test.cpp檔案中,輸入c語言 char a 10 hello a 0 0 printf s a 3 編譯器執行test.cpp檔案,此時字串被成功置空被列印。...