1樓:幻の上帝
c/c++中,函式體內定義的變數具有函式作用域,無法在外部使用這個變數本身。由於版這種定義式在棧記憶體分
權配空間,變數一旦被建立,函式結束後就會被自動銷燬,因此也稱為自動(auto)變數。
如果要在多個函式中共享變數,那麼可以使用作用域為全域性/編譯單元的靜態變數。這些變數定義後,在程序開始時自動建立,程序結束時自動銷燬。
例如int a = 2;
static int b = 7;
int f()
int g()
另外一種間接的方案是,用自動變數定義指標,然後用指標指向malloc/new方式獲得的堆空間變數,堆空間中的變數是全域性的,且需要手動釋放空間。
ps.注意用extern宣告的變數只是宣告,沒有被定義。如果整個工程中的檔案都沒有另外定義這些變數的話,編譯器可以編譯通過但連結器會報錯。
====
[原創回答團]
2樓:匿名使用者
這顯然是很困難的,除非你在第一個函式中呼叫第二個函式,並且給它傳了按引用傳遞的引數;否則就必須設定為全域性變數了
3樓:匿名使用者
在函式所在檔案中用extern宣告一下就行。
如定義int val;
要用前,宣告一下
extern int val;
4樓:笑熬將胡
如果兩個函式是在同一個檔案的話,在兩個函式定義前,定義這個變數就行了。
5樓:
具體語句得看你用的何種語言,反正就是使用時宣告它是全域性變數就行
python中是如何實現將一個函式中定義的變數在另一個函式中改變其值的
6樓:wxc一塊錢
python用列表名給變數賦值時給的是地址,就像c裡指標一樣。想要實現傳值用copy包
c++工程中如何在一個檔案中呼叫另一個檔案中的變數
7樓:小丁創業
實現的bai方法和操作步驟如du下:
1、首先, c++函式也存zhi儲在記憶體中,因此可以使用dao指標訪問內函式地址,如下圖
容所示,然後進入下一步。
2、其次,完成上述步驟後,宣告函式指標。該方法類似於函式原型。 以下是函式原型,如下圖所示,然後進入下一步。
3、接著,完成上述步驟後,在程式中宣告瞭一個函式指標,指標型別為整數,如下圖所示,然後進入下一步。
4、然後,完成上述步驟後,要獲取函式的地址,只需使用函式名稱即可,如下圖所示,然後進入下一步。
5、隨後,完成上述步驟後,使用函式指標來呼叫函式。與普通指標類似,可以使用(* fq)間接呼叫所指向的函式,如下圖所示,然後進入下一步。
6、最後,完成上述步驟後,在c++中,還可以使用函式指標,如函式名稱,如下圖所示。這樣,問題就解決了。
8樓:time大叔vs蘿莉
當專案中只有兩個檔案時:test_1.cpp 和 test_2.cpp
test_1.cpp:static int g_nnum;//在此檔案中定義一個全域性,但區域性可見的變數內,也就是static變數
//static看下
容最下方註釋
該檔案只需這一句**,不需要其他**,當然,你也可以新增其他**test_2.cpp://包含test_1.
cpp的頭,由於我們需要用到該檔案的全域性變數#include "test_1.cpp"
int main()
注:這裡涉及到static,static修辭一個區域性變數時,該變數的生命週期是全域性的,但可見性使區域性的,且工程中該值唯一;修辭全域性變數時,該變數生命週期全域性的,可見性也是全域性的,且工程中該值唯一;當修辭函式時,該函式全域性可見;
static關鍵字網上有很多大神講解過,我說的可能不是很詳細,可以自己去查一下。
9樓:匿名使用者
在b.cpp眉頭位置加入:#include "a.h",之後就可以在b.cpp中呼叫
10樓:匿名使用者
個人抄覺得famince的使用的方法不bai太好。
1. 假如你在a.cpp中有
du個變數的定義
int a = 0;
2. 在b.cpp中引用zhi,需要新增
extern int a;
這樣你dao就可以使用了。extern的作用是擴充套件a的作用域。
11樓:匿名使用者
或者用指標,再在另一個cpp中定義一個該類的指標,這樣來呼叫
12樓:匿名使用者
1:在a.h中:
extern宣告該變數,
2:在a.cpp中(包含a.h標頭檔案):
初始化,以及修改變數
3:在b.cpp中包含a.h標頭檔案,就可以使用,以此類推
13樓:匿名使用者
你可以看看extern
C 如何在區域性函式中改變定義的全域性變數的值
如果是 外部變數 那要宣告一下 這個變數。如int a定義在test1.cpp中 但是要在test2.cpp fun函式體內修改 那麼要在test2.cpp檔案fun函式前面這樣宣告 extern int a 這樣 就可以在fun函式內修改這個變數了 另外含static 關鍵字的全域性靜態變數 只有...
python3 8裡可以在函式中定義變數嗎
flag 0是全域性變數,可以用在函式外,也可以用在函式內,如果你是函式內定義,則外面的if flag會訪問不到而報錯。話說,你的while是不是少了一個break python中函式外定義的變數在函式內可以使用嗎 你寫的只是引用,也可以說讀取是可以的,但不能修改。比如這樣寫,外面的i 仍然 0 嚴...
如何在函式fx的定義域中,判斷這個函式的週期性,連續
若f x f x t 則週期是t,若limx x0 limx x0 則f x 在x0連續 單調性要具體看情況 如何判斷一個函式在某個區間的單調性 函式單調性的定義是我們判斷函式單調性的主要依據。一般地,設函式f x 的定義域為i,如果對於定義域 i內的某個區間d上的任意兩個自變數的值x1,x2,當x...