0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是函數(shù)的調(diào)用?

CHANBAEK ? 來源:小木編程 ? 作者:小木之 ? 2023-04-04 17:21 ? 次閱讀

什么是函數(shù)的調(diào)用?

函數(shù)的調(diào)用,就是使用我們已經(jīng)定義好的函數(shù),或者C語言自帶的庫(kù)函數(shù)。

在一個(gè)項(xiàng)目中,可能會(huì)需要重復(fù)執(zhí)行某一“動(dòng)作”,比如:計(jì)算兩個(gè)數(shù)的和。

如果我們每次都把這個(gè)“動(dòng)作”的代碼寫一遍,不僅浪費(fèi)時(shí)間,還影響代碼的美觀。

于是,我們就需要用到函數(shù)。

函數(shù)就是把某種功能封裝起來,變成一個(gè)“工具”,當(dāng)我們需要使用它時(shí),調(diào)用就行了。

函數(shù)調(diào)用的類別

函數(shù)的調(diào)用大致可以分為兩種,有參調(diào)用,和無參調(diào)用。

(1) 有參調(diào)用

  • 有參調(diào)用,即調(diào)用函數(shù)時(shí),需要傳入參數(shù)
  • 將實(shí)參的值賦給形參后,函數(shù)體再對(duì)形參進(jìn)行處理,也就是運(yùn)行函數(shù),最后把最終結(jié)果返回給主函數(shù)。

例:

#include


int Add(int a,int b)
{
  return a+b;
} 


int main()
{
  int a,b,c;
  scanf("%d%d",&a,&b);
  c=Add(a,b); // 調(diào)用函數(shù)時(shí)傳入?yún)?shù)
  printf("%d",c);
  return 0;
}

(2) 無參調(diào)用

  • 無參調(diào)用,調(diào)用函數(shù)時(shí),不需要傳入?yún)?shù)。
  • 函數(shù)直接使用函數(shù)體內(nèi)的代碼與數(shù)據(jù),運(yùn)行函數(shù)。

例:

#include


void PP()
{
  printf("這是無參調(diào)用");
}


int main()
{
  PP();  // 無參調(diào)用只需寫出函數(shù)名即可
  return 0;
}

輸出:

這是無參調(diào)用

函數(shù)調(diào)用后的結(jié)果

無論是有參調(diào)用,還是無參調(diào)用,都是可以具有返回值的,但一般來說,無參調(diào)用沒有返回值。

對(duì)于有返回值的函數(shù),在調(diào)用時(shí)是可以作為表達(dá)式的一部分來直接使用的。

例:

#include


int Add(int a,int b)
{
  return a+b;
} 


int main()
{
  int a=5,b=1,c;
  c=Add(a,b)+10; 
  printf("%d",c);
  return 0;
}

輸出結(jié)果:

16

這段代碼c=Add(a,b)+ 10 ; 就是將調(diào)用的函數(shù)直接作為確定的值使用。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7581

    瀏覽量

    135553
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4256

    瀏覽量

    62223
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4694

    瀏覽量

    68078
  • 函數(shù)調(diào)用
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    2578
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語言函數(shù)調(diào)用過程中的內(nèi)存變化解析

    相信很多編程新手村的同學(xué)們都會(huì)有一個(gè)疑問:C 語言如何調(diào)用函數(shù)的呢?局部變量的作用域?yàn)槭裁磧H限于函數(shù)內(nèi)?這個(gè)調(diào)用不是指C 語言上的函數(shù)
    的頭像 發(fā)表于 12-11 16:21 ?3691次閱讀

    C語言使用函數(shù)調(diào)用的知識(shí)點(diǎn)

    C語言使用函數(shù)調(diào)用,我們?cè)偈煜げ贿^了,但是函數(shù)調(diào)用在內(nèi)存中究竟發(fā)生了什么真的清楚嗎?只有搞清楚內(nèi)存里的內(nèi)幕,才算完全搞懂函數(shù)
    發(fā)表于 09-07 11:47 ?781次閱讀

    C函數(shù)調(diào)用機(jī)制與棧幀原理詳解

    當(dāng)一個(gè)C函數(shù)調(diào)用時(shí),函數(shù)的參數(shù)如何傳遞、堆棧指針如何變化、棧幀是如何被建立以及如何被消除的,一直缺乏系統(tǒng)性的理解,因此決定花時(shí)間學(xué)習(xí)下函數(shù)調(diào)用
    發(fā)表于 06-08 10:49 ?1087次閱讀
    C<b class='flag-5'>函數(shù)</b><b class='flag-5'>調(diào)用</b>機(jī)制與棧幀原理詳解

    matlab自定義函數(shù)調(diào)用的方法

    matlab自定義函數(shù)調(diào)用的方法 命令文件/函數(shù)文件+ 函數(shù)文件 - 多
    發(fā)表于 11-29 13:14 ?88次下載

    高效的C編程之函數(shù)調(diào)用

    14.9 函數(shù)調(diào)用 函數(shù)設(shè)計(jì)的基本原則是使其函數(shù)體盡量的小。這樣編譯器可以對(duì)函數(shù)做更多的優(yōu)化。 14.9.1 減少
    發(fā)表于 10-17 16:49 ?6次下載
    高效的C編程之<b class='flag-5'>函數(shù)</b><b class='flag-5'>調(diào)用</b>

    一種動(dòng)靜結(jié)合的惡意程序函數(shù)調(diào)用圖提取方法

    完整準(zhǔn)確地提取函數(shù)調(diào)用圖是基于函數(shù)調(diào)用圖進(jìn)行惡意程序相似性分析的基礎(chǔ)。為此,提出一種動(dòng)靜結(jié)合的惡意程序函數(shù)
    發(fā)表于 02-24 13:52 ?0次下載
    一種動(dòng)靜結(jié)合的惡意程序<b class='flag-5'>函數(shù)</b><b class='flag-5'>調(diào)用</b>圖提取方法

    帶你了解嵌入式C語言函數(shù)調(diào)用

    大家都知道函數(shù)調(diào)用是通過棧來實(shí)現(xiàn)的,而且知道在棧中存放著該函數(shù)的局部變量。但是對(duì)于棧的實(shí)現(xiàn)細(xì)節(jié)可能不一定清楚。
    發(fā)表于 07-12 17:08 ?2052次閱讀
    帶你了解嵌入式C語言<b class='flag-5'>函數(shù)</b><b class='flag-5'>調(diào)用</b>棧

    C語言使用函數(shù)調(diào)用在內(nèi)存中究竟發(fā)生了什么?

    C語言使用函數(shù)調(diào)用,我們?cè)偈煜げ贿^了,但是函數(shù)調(diào)用在內(nèi)存中究竟發(fā)生了什么真的清楚嗎?只有搞清楚內(nèi)存里的內(nèi)幕,才算完全搞懂函數(shù)
    的頭像 發(fā)表于 01-13 14:09 ?1037次閱讀

    嵌入式系統(tǒng)中函數(shù)如何調(diào)用

    嵌入式系統(tǒng)中,一個(gè)函數(shù)調(diào)用時(shí),它的內(nèi)部機(jī)理是什么,執(zhí)行了哪些步驟?如圖1所示,先看 看 一個(gè)程序在運(yùn)行時(shí),它的內(nèi)存分布狀況。
    的頭像 發(fā)表于 02-13 14:15 ?1008次閱讀
    嵌入式系統(tǒng)中<b class='flag-5'>函數(shù)</b>如何<b class='flag-5'>調(diào)用</b>

    嵌入式軟件架構(gòu)設(shè)計(jì)之函數(shù)調(diào)用

    函數(shù)調(diào)用很好理解,即使剛學(xué)沒多久的朋友也知道函數(shù)調(diào)用是怎么實(shí)現(xiàn)的,即調(diào)用一個(gè)已經(jīng)封裝好的函數(shù),實(shí)
    的頭像 發(fā)表于 02-15 14:48 ?1033次閱讀
    嵌入式軟件架構(gòu)設(shè)計(jì)之<b class='flag-5'>函數(shù)</b><b class='flag-5'>調(diào)用</b>

    函數(shù)調(diào)用時(shí)底層會(huì)發(fā)生什么

    如果你懂得用箱子打包東西,你就能明白函數(shù)調(diào)用是怎么一回事。 原來,在程序運(yùn)行時(shí)每個(gè)被調(diào)用函數(shù)都有自己的一個(gè)箱子,假設(shè)這段代碼是這樣寫的:
    的頭像 發(fā)表于 02-17 14:47 ?601次閱讀
    <b class='flag-5'>函數(shù)</b><b class='flag-5'>調(diào)用</b>時(shí)底層會(huì)發(fā)生什么

    C語言函數(shù)調(diào)用的形式及過程

    C語言函數(shù)調(diào)用時(shí)的數(shù)據(jù)傳遞 在調(diào)用有參函數(shù)時(shí),主調(diào)函數(shù)和被調(diào)函數(shù)之間有數(shù)據(jù)傳遞關(guān)系。
    的頭像 發(fā)表于 03-10 14:28 ?1539次閱讀

    ES32F36xx芯片發(fā)生HardFault異常時(shí)的函數(shù)調(diào)用關(guān)系及問題定位

    ES32F36xx芯片發(fā)生HardFault異常時(shí)的函數(shù)調(diào)用關(guān)系及問題定位
    的頭像 發(fā)表于 11-06 17:13 ?650次閱讀
    ES32F36xx芯片發(fā)生HardFault異常時(shí)的<b class='flag-5'>函數(shù)</b><b class='flag-5'>調(diào)用</b>關(guān)系及問題定位

    python定義函數(shù)調(diào)用函數(shù)的順序

    定義函數(shù)調(diào)用函數(shù)的順序 函數(shù)被定義后,本身是不會(huì)自動(dòng)執(zhí)行的,只有在被調(diào)用后,函數(shù)才會(huì)被執(zhí)行,得
    的頭像 發(fā)表于 10-04 17:17 ?1165次閱讀

    linux用gdb調(diào)試遇到函數(shù)調(diào)用怎么辦?

    linux用gdb調(diào)試遇到函數(shù)調(diào)用怎么辦? 在Linux上使用GDB調(diào)試時(shí),遇到函數(shù)調(diào)用是一個(gè)常見的情況。函數(shù)
    的頭像 發(fā)表于 01-31 10:33 ?634次閱讀