c 函式怎麼呼叫另函式中的引數

2021-04-18 23:10:08 字數 1668 閱讀 6881

1樓:殘雪黃昏

如來果另一個函式中的引數源是該函式bai的動態區域性變數,那是du不可能的,除非想zhi點其他辦法,比dao如說跟蹤該區域性變數生成的地址,並且在該區域性變數的生存期內呼叫。但是這樣我不知道有什麼意義。

如果另一個函式中的引數的變數是函式的區域性靜態變數static,那麼也可以,不過得想點辦法。那就是跟蹤該靜態變數初始化時的地址。由於靜態變數都在全域性資料區分配記憶體,不管是全域性的還是區域性的。

那麼只要找到其初始化時的地址就可以了,到時候直接在函式內操作這個變數的記憶體地址。

如果另一個函式中的引數的變數不一定是區域性變數的話,那麼你可以定義為全域性變數,這樣的話就可以操作了。上面兩種方式,我不知道有什麼意義,除非搞crack的。

2樓:匿名使用者

一個函式,就象bai你的du函式a其中的變數只在函式被呼叫zhi時才生成dao和起作用,內函式執行結束,變數容p就失效了,所以它的值無法在函式執行後被儲存。

如果想在函式執行結束後還能儲存,需要在變數定義前加個「靜態」的修飾,如:static int p;但這還是不能被函式以外的語句直接訪問。

那麼就需要將函式的值想辦法傳出來,或者直接將p的定義提到函式外成為全域性變數。

3樓:匿名使用者

如果是一般函式,不能這麼用,你可以把p定義為全域性變數,就可以用。如果是c++,將這2個函式定義為成員函式,p為成員變數,也可以用

4樓:c基生物

可以全域性變數,或是用返回值,共用指標,物件

5樓:柯西序列

如果無法把

baip定義du為全域性變數,就定zhi義一個可dao以版

指向p的全域性指

權針。int * pointer = nullptr;

void a()

void b()

js 函式如何去呼叫另一個函式中的函式?

6樓:匿名使用者

具體呼叫情況需要看js方法是怎麼寫的。

①如果是最簡單的一個方法:functiuon dome1()//呼叫方法就是:dome1();

②如果是閉包形式:function dome1() return function dome3()}//這裡可以訪問dome1方法內的dome3方法,dome2方法對與dome1方法外部是不可見的。

③如果是一個物件形式的:var obj=, dome2:function(){}};//訪問dome1和dome2方法:

obj.dome1(1,2);obj.dome2();其他的情況需要看具體的**。

7樓:匿名使用者

如果只是單純的函式形式,是沒有辦法的。不是同一個作用域內的東西,就好像 c 不能訪問 a 裡定義的變數一樣。當然如果以物件的方法的形式,是可以的。不過貌似這不像你提問的初衷。

8樓:匿名使用者

function a()

return b;

}funtion c()

9樓:守芙陰乙

function

a{}這是一個類而不是函式,function

a(){};這才是一個函式,b也同樣,如果呼叫b,就直接b();就會執行函式b,如果b是引數,b()這是傳的b執行後返回的值,b是傳的b這個函式

python中同類的函式怎麼呼叫另函式裡的資料

a 不是return了它麼 def c dic a 現在列印dic吧 study.a 前面加上類的全名就行了 python中同一個類的函式怎麼呼叫另一個函式裡的資料 如果是同bai一包裡面,直du接就可以使用,如zhi果不是同一個包,那麼需要先daoimport後,通過 包名.類名回 才能使用。答下...

C語言子函式呼叫糾錯,C語言子函式呼叫糾錯

第一 要保證可以最終退出。就是說,這樣的呼叫最終可以回來。第二 避免迴圈呼叫。就是說當a呼叫b,然後b又呼叫a這種情況,一定要有可以跳出的情況,讓某個a或者b在一定條件下不再呼叫對方就可以返回。第三 避免呼叫深度過深。就是說不能一直呼叫下去。這個具體能夠呼叫多少次根據你的硬體 等具體情況確定的。一般...

c怎麼把函式作為形參在另函式中並實現函式呼叫

include using namespace std typedef int pfun int a,int b 函式指標 int add int a,int b void fun int a,int b,pfun pfun 函式指 針作為函式的引數專 為什麼c 語言不允許在一個函式的定義中再定義另...