2 回答

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
考慮下面的代碼,主要是說(shuō)明問(wèn)題所以沒有提供函數(shù)定義而只提供了函數(shù)原型。
void fun1();
int fun2();
int fun3();
int main()
{
fun1();
cout << fun2() << endl;
return 0;
}
int fun3()
{
int a = fun2();
a++;
return a;
}
主調(diào)函數(shù)和被調(diào)函數(shù)是相對(duì)而言的。以上面的代碼為例,相對(duì)于主函數(shù)main來(lái)說(shuō),fun1和fun2都是被調(diào)函數(shù),而main是主調(diào)函數(shù),相對(duì)于fun3來(lái)說(shuō),fun2就是被調(diào)函數(shù),fun3則是fun2的主調(diào)函數(shù)。

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊
1、主調(diào)函數(shù)與被調(diào)函數(shù)是成對(duì)出現(xiàn)的。是主動(dòng)與被動(dòng)的關(guān)系?,F(xiàn)在有A、B兩個(gè)函數(shù),A函數(shù)調(diào)用了B函數(shù),那么,A函數(shù)就是主調(diào)函數(shù),B函數(shù)就是被調(diào)函數(shù)。這和現(xiàn)實(shí)生活中的打電話是一樣的,一個(gè)是主叫,一個(gè)是被叫。有意思的是,在很多編程語(yǔ)言里,函數(shù)間的調(diào)用就是用CALL關(guān)鍵字來(lái)表示的。
2、在C語(yǔ)言里,被調(diào)函數(shù)如果要先聲明的話,一定是在主函數(shù)之前被聲明的,雖然名字可以取的千奇百怪,不過(guò)先聲明的話這樣就比較明顯好認(rèn)(有很多程序員都提倡這么做,這樣就可以方便的分析程序了),另外,主函數(shù)是main,看見這個(gè)就是看見主函數(shù)了。被調(diào)函數(shù)就是一個(gè)可以實(shí)行一定功能的函數(shù),需要它有什么用,你就可以隨便的定義它,完整它,所以調(diào)用函數(shù)非常的多、雜亂,不易理清頭緒,但是調(diào)用函數(shù)卻是一定在主函數(shù)中實(shí)現(xiàn)的,我說(shuō)一下我自己的方法,就是先不看調(diào)用函數(shù),先從主函數(shù)看起,當(dāng)遇到調(diào)用函數(shù)時(shí)就回過(guò)頭去看那個(gè)調(diào)用函數(shù)的具體內(nèi)容(實(shí)際上,把調(diào)用函數(shù)的內(nèi)容帶入主函數(shù)中就行了,具體對(duì)待就行)。
- 2 回答
- 0 關(guān)注
- 1652 瀏覽
添加回答
舉報(bào)