C語言的函數(shù)(第二篇章:函數(shù)的傳值與傳址和函數(shù)的調(diào)用)

一、函數(shù)的傳值與傳址

說起函數(shù)的傳值與傳址瘤泪,外表看起來很高大上的樣子,其實本質(zhì)是都是傳遞一個數(shù)值而己育八。

  • 在這里引入兩個概念对途,就是函數(shù)的的兩類參數(shù)。分別為:形式參數(shù)(形參)和實際參數(shù)(實參)髓棋。函數(shù)定義時的參數(shù)稱為形參实檀,函數(shù)調(diào)用時使用的參數(shù)稱為實參。(第二點講函數(shù)的調(diào)用也會用到這兩個概念的按声。)

  • eg:使用函數(shù)交換兩個變量的值膳犹。(這里給個例子吧。詳細的會在注釋標出签则。)

    #include <stdio.h>
    int main(void)
    {
    int a = 4; int b = 5;  
    printf("a = %d b = %d\n",a,b); //定義兩個變量
    int t = a;                                //swap的傳值
    a = b;                                    //進行了有參交換
    b = t;                                    //對swap功能進行打包
    printf("a = %d b = %d\n",a,b);
    return 0;
    

    }

二须床、函數(shù)的調(diào)用

函數(shù)調(diào)用的一般形式有兩種:

  • 1函數(shù)語句 :
    函數(shù)名 (實參表列); 或 函數(shù)名();[不要求函數(shù)帶返回值]
    eg:swap(x,y);

  • 2函數(shù)表達式:
    m=max(a,b);

  • 3函數(shù)的嵌套調(diào)用:
    雖然現(xiàn)在的IDE(集成開放環(huán)境)平臺有的允許嵌套定義的,但函數(shù)不能嵌套定義渐裂,為了考慮兼容的問題豺旬,一般都不建議去嵌套定義的。
    C語言允許進行嵌套調(diào)用柒凉。eg:
    #include<stdio.h>
    fun2(int x,int y)
    {
    int z;
    z=2*x-y;
    return z;
    }
    fun1(int x,int y)
    {
    int z;
    z=fun2(x,x+y); //在fun1()內(nèi)調(diào)用fun2()函數(shù)
    return z;
    }
    main()
    {
    int a,b,c;
    printf("Please∽逶摹input two∠ダ獭number:");
    scanf("%d%d",&a,&b);
    c=fun1(a,b); ///調(diào)用fun1()函數(shù)
    printf("%d\n",c);
    }

  • 4函數(shù)的遞歸調(diào)用
    定義:在調(diào)用一個函數(shù)的過程中耘分,又直接或者間接地調(diào)用了該函數(shù)本身,這種形式稱為函數(shù)的遞歸調(diào)用,這個函數(shù)就稱為遞歸函數(shù)求泰。
    其實就是一句話:自身調(diào)用自身
    一般的形式為:
    遞歸返回func(滿足遞歸的條件)
    {
    if(能使遞歸終止條件)
    終止處理;
    else
    func(趨于遞歸終結(jié)的條件);
    }
    舉個例子:用遞歸方法求n!(n>0)央渣。
    include<stdio.h>
    long func(int n) //定義求階乘的函數(shù) func()
    {
    long m;
    if(n==1)
    m=1;
    else
    m= func(n-1)* n; //在函數(shù)的定義中又調(diào)用了自己
    return m;
    }
    main()
    {
    int n; float y;
    printf("input the value of n.\n");
    scanf("%d",&n);
    printf("%d!=%ld\n",n, func(n)); /輸出n!
    }

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市渴频,隨后出現(xiàn)的幾起案子芽丹,更是在濱河造成了極大的恐慌,老刑警劉巖卜朗,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拔第,死亡現(xiàn)場離奇詭異,居然都是意外死亡场钉,警方通過查閱死者的電腦和手機啊掏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門垒拢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事方库∏凹疲” “怎么了兑徘?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵同廉,是天一觀的道長。 經(jīng)常有香客問我指郁,道長忙上,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任闲坎,我火速辦了婚禮疫粥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘腰懂。我一直安慰自己手形,他們只是感情好,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布悯恍。 她就那樣靜靜地躺著库糠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涮毫。 梳的紋絲不亂的頭發(fā)上瞬欧,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天,我揣著相機與錄音罢防,去河邊找鬼艘虎。 笑死,一個胖子當著我的面吹牛咒吐,可吹牛的內(nèi)容都是我干的野建。 我是一名探鬼主播属划,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼候生!你這毒婦竟也來了同眯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤唯鸭,失蹤者是張志新(化名)和其女友劉穎须蜗,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體目溉,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡明肮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了缭付。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柿估。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖陷猫,靈堂內(nèi)的尸體忽然破棺而出秫舌,到底是詐尸還是另有隱情,我是刑警寧澤烙丛,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站羔味,受9級特大地震影響河咽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赋元,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一忘蟹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧搁凸,春花似錦媚值、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至嫡良,卻和暖如春锰扶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背寝受。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工坷牛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人很澄。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓京闰,卻偏偏與公主長得像颜及,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蹂楣,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 第1章 第一個C程序第2章 C語言基礎第3章 變量和數(shù)據(jù)類型第4章 順序結(jié)構程序設計第5章 條件結(jié)構程序設計第6章...
    小獅子365閱讀 10,679評論 3 71
  • 1捐迫、c語言的函數(shù)有以下特點: (1)才源程序由函數(shù)組成乾翔,一個主函數(shù)main()+若干其他函數(shù) C程序中的函數(shù)類似文...
    滕王閣序閱讀 1,347評論 0 6
  • 這個是初始版本反浓,還會進行改正和補充,請大家認真熟悉這些基礎知識赞哗!如有錯誤雷则,請在評論區(qū)留言@作者 總體上必須清楚的:...
    亦一銀河閱讀 2,514評論 3 40
  • 題目類型 a.C++與C差異(1-18) 1.C和C++中struct有什么區(qū)別? C沒有Protection行為...
    阿面a閱讀 7,675評論 0 10
  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型肪笋。 運用指針編程是C語言最主要的風格之一月劈。利用指針變量可以表示各種數(shù)據(jù)結(jié)構; ...
    朱森閱讀 3,451評論 3 44