RM新时代网站-首页

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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語言自帶的庫函數(shù)。

在一個項目中,可能會需要重復(fù)執(zhí)行某一“動作”,比如:計算兩個數(shù)的和。

如果我們每次都把這個“動作”的代碼寫一遍,不僅浪費時間,還影響代碼的美觀。

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

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

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

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

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

  • 有參調(diào)用,即調(diào)用函數(shù)時,需要傳入參數(shù)
  • 將實參的值賦給形參后,函數(shù)體再對形參進(jì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ù)時傳入?yún)?shù)
  printf("%d",c);
  return 0;
}

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

  • 無參調(diào)用,調(diào)用函數(shù)時,不需要傳入?yún)?shù)。
  • 函數(shù)直接使用函數(shù)體內(nèi)的代碼與數(shù)據(jù),運行函數(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)用沒有返回值。

對于有返回值的函數(shù),在調(diào)用時是可以作為表達(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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

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

    關(guān)注

    3

    文章

    4327

    瀏覽量

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

    關(guān)注

    30

    文章

    4779

    瀏覽量

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

    關(guān)注

    0

    文章

    19

    瀏覽量

    2585
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

    當(dāng)一個C函數(shù)調(diào)用時,函數(shù)的參數(shù)如何傳遞、堆棧指針如何變化、棧幀是如何被建立以及如何被消除的,一直缺乏系統(tǒng)性的理解,因此決定花時間學(xué)習(xí)下函數(shù)調(diào)用
    發(fā)表于 06-08 10:49 ?1288次閱讀
    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è)計的基本原則是使其函數(shù)體盡量的小。這樣編譯器可以對函數(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>

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

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

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

    大家都知道函數(shù)調(diào)用是通過棧來實現(xiàn)的,而且知道在棧中存放著該函數(shù)的局部變量。但是對于棧的實現(xiàn)細(xì)節(jié)可能不一定清楚。
    發(fā)表于 07-12 17:08 ?2109次閱讀
    帶你了解嵌入式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)用,我們再熟悉不過了,但是函數(shù)調(diào)用在內(nèi)存中究竟發(fā)生了什么真的清楚嗎?只有搞清楚內(nèi)存里的內(nèi)幕,才算完全搞懂函數(shù)
    的頭像 發(fā)表于 01-13 14:09 ?1164次閱讀

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

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

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

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

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

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

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

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

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

    ES32F36xx芯片發(fā)生HardFault異常時的函數(shù)調(diào)用關(guān)系及問題定位
    的頭像 發(fā)表于 11-06 17:13 ?762次閱讀
    ES32F36xx芯片發(fā)生HardFault異常時的<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ù)被定義后,本身是不會自動執(zhí)行的,只有在被調(diào)用后,函數(shù)才會被執(zhí)行,得
    的頭像 發(fā)表于 10-04 17:17 ?1380次閱讀

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

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