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 語言不允許在一個函式的定義中再定義另...