第一個函數(shù)是fun(int a, int b),調(diào)用fun(c[i],c[i+1])時,將c[i]的值傳遞給a,c[i+1]的值傳遞給b,a和b在fun內(nèi)部被修改了,但是對c[i]和c[i+1]不會有任何影響。
網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁制作,對混凝土攪拌罐等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計,網(wǎng)站優(yōu)化推廣哪家好,專業(yè)seo優(yōu)化優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
第二個函數(shù)時fun(int a[], int n),調(diào)用fun(k,5)時,將數(shù)組k的地址傳遞給了a,此時,對形參數(shù)組a的任何操作也就是在對數(shù)組k操作。
這兩個函數(shù)的區(qū)別在于傳值調(diào)用和傳地址。相關(guān)知識請自己詳細查閱。
考慮下面的代碼,主要是說明問題所以沒有提供函數(shù)定義而只提供了函數(shù)原型。
voidfun1();
intfun2();
intfun3();
intmain()
{
fun1();
coutfun2()endl;
return0;
}
intfun3()
{
inta=fun2();
a++;
returna;
}
主調(diào)函數(shù)和被調(diào)函數(shù)是相對而言的。以上面的代碼為例,相對于主函數(shù)main來說,fun1和fun2都是被調(diào)函數(shù),而main是主調(diào)函數(shù),相對于fun3來說,fun2就是被調(diào)函數(shù),fun3則是fun2的主調(diào)函數(shù)。
1、主調(diào)函數(shù)與被調(diào)函數(shù)是成對出現(xiàn)的。是主動與被動的關(guān)系?,F(xiàn)在有A、B兩個函數(shù),A函數(shù)調(diào)用了B函數(shù),那么,A函數(shù)就是主調(diào)函數(shù),B函數(shù)就是被調(diào)函數(shù)。這和現(xiàn)實生活中的打電話是一樣的,一個是主叫,一個是被叫。有意思的是,在很多編程語言里,函數(shù)間的調(diào)用就是用CALL關(guān)鍵字來表示的。
2、在C語言里,被調(diào)函數(shù)如果要先聲明的話,一定是在主函數(shù)之前被聲明的,雖然名字可以取的千奇百怪,不過先聲明的話這樣就比較明顯好認(有很多程序員都提倡這么做,這樣就可以方便的分析程序了),另外,主函數(shù)是main,看見這個就是看見主函數(shù)了。被調(diào)函數(shù)就是一個可以實行一定功能的函數(shù),需要它有什么用,你就可以隨便的定義它,完整它,所以調(diào)用函數(shù)非常的多、雜亂,不易理清頭緒,但是調(diào)用函數(shù)卻是一定在主函數(shù)中實現(xiàn)的,我說一下我自己的方法,就是先不看調(diào)用函數(shù),先從主函數(shù)看起,當遇到調(diào)用函數(shù)時就回過頭去看那個調(diào)用函數(shù)的具體內(nèi)容(實際上,把調(diào)用函數(shù)的內(nèi)容帶入主函數(shù)中就行了,具體對待就行)。
主調(diào)函數(shù)、被調(diào)函數(shù)?
應(yīng)該是主函數(shù)與外部函數(shù)
主函數(shù)是c語言必需擁有的,標志是int main () {.......函數(shù)內(nèi)容 }
外部函數(shù)是聲明在主函數(shù)外,在主函數(shù)中調(diào)用,或在其他外部函數(shù)中調(diào)用
它必需在主函數(shù)前面聲明,在主函數(shù)外任意地方定義
一般聲明格式為 ,函數(shù)返回值類型 函數(shù)名 (形參表);
定義格式為:函數(shù)返回值類型 函數(shù)名 (形參表){ 函數(shù)內(nèi)容 }
外部函數(shù)也可以 函數(shù)返回值類型 函數(shù)名 (形參表){ 函數(shù)內(nèi)容 }這樣直接聲明定義一起
不懂 歡迎追問
主函數(shù)就是main函數(shù),是程序執(zhí)行的起點。
被調(diào)用函數(shù):由一個函數(shù)調(diào)用另一個函數(shù),則稱第二個函數(shù)為被調(diào)用函數(shù)。
調(diào)用函數(shù)就是計算機編譯或運行時,使用某個函數(shù)來完成相關(guān)命令。對無參函數(shù)調(diào)用時則無實際參數(shù)表。實際參數(shù)表中的參數(shù)可以是常數(shù)、變量或其它構(gòu)造類型數(shù)據(jù)及表達式。各實參之間用逗號分隔。
這兩個定義是相對的,比如說你自己定義編寫了一個函數(shù),然后在后面的編寫語句中要用到你之前編寫的函數(shù),你引用了,那個函數(shù)就是被調(diào)用函數(shù),你正在寫的那個主函數(shù)就是調(diào)用函數(shù)。