c怎麼讓子函式定義的變數讓另子函式使用

時間 2021-08-30 10:38:27

1樓:

方法1:

定義一些全域性變數,在函式中利用區域性變數給這些全域性變數賦值。另外的函式直接訪問全域性變數。

方法2:

在函式a中呼叫另外一個函式b,將a中的區域性變數作為引數傳遞給函式b。

2樓:雲暖舒風

變數太多就看看可不可以減少,函式是少引數會更好一點如果返回太多,可以這樣解決

1. 返回結構體,結構體包括了你想傳遞的所有變數2. 作為引數傳遞出來,引數可以是一個個變數的地址,也可以是一個結構體的地址,在函式內部修改後,變數同樣被修改

3樓:月淵冥

建議你設定一個類,把公共變數全都在類裡宣告就行了!

4樓:璐溪博

把它在其他函式內宣告一下或者設定為全域性變數

5樓:匿名使用者

你不想定義全域性變數還想讓區域性互用。只能把要呼叫的區域性變數。作為引數傳到令一個子函式裡面。如果變數太多。那麼。建議還是全域性把。

靜態區域性變數時不可取的。他只是把變數定義在全域性儲存區。但是作用域還是本身這個函式。。。

只能用全域性或者引數方法。

全域性我不說了。引數方法如下。

void fun1()

void fun2(int ,int );

額樓下說的結構體。或者類的方法也是可取的。當然結構體和類本質上市類似的。裡面的變數都可以在任何他的成員函式中使用。

6樓:凱旋衝鋒

你是想變數一旦定義了以後**都可以用,不用再重複定義?這表面上,這樣做可以讓你程式設計更簡便,其實不然。當你編寫一個較為複雜的程式時,不同地方不同變數具有不同的含義,如果在不衝突的情況下,你用一個變數在多處代表不同含義,你的程式就變得難以閱讀和理解,以至於日後你自己看都要看老半天。

你的要求可以通過靜態區域性變數來實現,更簡單的方法是所有變數都使用全域性變數。

7樓:匿名使用者

把變數定義成成員變數。

8樓:

用static 定義變數

在一個函式中定義了一個變數,如何在另一個函式使用這個變數 10

9樓:幻の上帝

c/c++中,函式體內定義的變數具有函式作用域,無法在外部使用這個變數本身。由於版這種定義式在棧記憶體分

權配空間,變數一旦被建立,函式結束後就會被自動銷燬,因此也稱為自動(auto)變數。

如果要在多個函式中共享變數,那麼可以使用作用域為全域性/編譯單元的靜態變數。這些變數定義後,在程序開始時自動建立,程序結束時自動銷燬。

例如int a = 2;

static int b = 7;

int f()

int g()

另外一種間接的方案是,用自動變數定義指標,然後用指標指向malloc/new方式獲得的堆空間變數,堆空間中的變數是全域性的,且需要手動釋放空間。

ps.注意用extern宣告的變數只是宣告,沒有被定義。如果整個工程中的檔案都沒有另外定義這些變數的話,編譯器可以編譯通過但連結器會報錯。

====

[原創回答團]

10樓:匿名使用者

這顯然是很困難的,除非你在第一個函式中呼叫第二個函式,並且給它傳了按引用傳遞的引數;否則就必須設定為全域性變數了

11樓:匿名使用者

在函式所在檔案中用extern宣告一下就行。

如定義int val;

要用前,宣告一下

extern int val;

12樓:笑熬將胡

如果兩個函式是在同一個檔案的話,在兩個函式定義前,定義這個變數就行了。

13樓:

具體語句得看你用的何種語言,反正就是使用時宣告它是全域性變數就行

c++ 怎麼讓一個子函式定義的變數讓另一個子函式使用?

14樓:

方法1:

定義一些全域性變數,在函式中利用區域性變數給這些全域性變數賦值。另外的函式直接訪問全域性變數。

方法2:

在函式a中呼叫另外一個函式b,將a中的區域性變數作為引數傳遞給函式b。

15樓:廖茂勳載旭

變數太多就看看可不可以減少,函式是少引數會更好一點如果返回太多,可以這樣解決

1.返回結構體,結構體包括了你想傳遞的所有變數2.作為引數傳遞出來,引數可以是一個個變數的地址,也可以是一個結構體的地址,在函式內部修改後,變數同樣被修改

C 類中的定義的變數是什麼屬性?和主函式中直接定義的變數有衝突嗎?和類成員函式中的變數有衝突嗎

沒有衝突,他們是變數,不存在優先順序的問題,但是他們的生存期不同,使用時,的形式也不同。比如 類poin的物件為m poin,裡面有成員變數a,主函式中也有變數a,那麼我們使用時,a 2,指的就是主函式中的變數a,而m poin.a 2指的則是類的物件中的成員變數a.成員函式中的變數只在呼叫函式時生...

c 中在類中定義另只有帶引數建構函式的類的物件,編譯通不過

在b中定義 a a 是可以通過的,但在其他地方 比如函式中 這樣是不對的。在b中定義 a a 只是告訴編譯器 b有一個a類的物件 並不在定義的時候建立a這個物件成員,也就不考慮它的建構函式。a這個物件成員的建立是在執行b的建構函式時進行的,b的建構函式後面必須以初始化表的形式為a物件成員提供引數,比...

ecel怎麼讓自定義後的度數變成隨機度數相加

a1和b1單元格輸入 c1單元格輸入 然後選中a1,b1,c1下拉試試。a列b列中產生隨機數,c列把前兩列的隨機數相加 用公式 randbetween 0,180 60 60 24 60 60 別忘了設定單元格格式為,自定義 h mm ss 如何加減?需要處理以後才可以加減。excel怎麼輸入角度,...