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

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

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

什么是函數(shù)?

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

什么是函數(shù)?

我們之前說過, #include 就像是一個(gè)"工具箱",而工具箱中的"工具",就是函數(shù),也就是程序的模塊化。

比如說:printf 就是其中的一個(gè)函數(shù),功能是輸出。

C語言中的函數(shù),除了其本身提供的大量的庫函數(shù)之外,我們也可以自己定義函數(shù)。

也就是根據(jù)自己的需要,打造自己需要的工具。

定義函數(shù)的一般格式

返回值類型 函數(shù)名(參數(shù)類型 參數(shù)1,參數(shù)類型 參數(shù)2......)
{
    函數(shù)內(nèi)代碼;
    return 返回值;  //若無返回值,不寫這一句 
}
  • 返回值類型:指這個(gè)函數(shù)最后得出結(jié)果后,返回給主函數(shù)的值是什么類型。
  • 例如:int 類型。 當(dāng)然,也可以不設(shè)置返回值,返回為空,也就是void
  • 函數(shù)名:指這個(gè)函數(shù)的名字,由你自己起名。
  • 參數(shù):指執(zhí)行這個(gè)函數(shù),所需要傳入的數(shù)據(jù)。
  • 參數(shù)類型:指傳入?yún)?shù)的類型,如 int 型。

自定義函數(shù),例1:A+B

我們寫一個(gè)函數(shù),功能是計(jì)算兩個(gè)數(shù)的和,函數(shù)返回值是兩個(gè)數(shù)的和。

就是下面這樣

int Add(int a,int b)
{
  return a+b;
}
  • a 和 b 就是參數(shù),它的值是你在調(diào)用函數(shù)時(shí)輸入的值。
  • return 就是返回的意思,返回值是 a+b,也就是兩數(shù)之和。

調(diào)用函數(shù)

也就是使用我們定義出來的函數(shù),就用我們剛剛定義的函數(shù)來說明:

#include


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


int main()
{
  int c;
  c=Add(3,6);
  printf("%d",c);
  return 0;
}

程序的輸出結(jié)果:

9

我們在主函數(shù)內(nèi)調(diào)用函數(shù)時(shí),格式是:

函數(shù)名(參數(shù)1,參數(shù)2...)
  • 在調(diào)用函數(shù)時(shí),不需要像定義函數(shù)時(shí)一樣,寫出參數(shù)的類型,但需要保證參數(shù)的位置相互對應(yīng)。
  • Add(3,6) ,3 對應(yīng)的就是函數(shù)中的 a,6 對應(yīng)的就是函數(shù)中的 b。 可以理解為給 a 賦值為 3,給 b 賦值為 6。 這個(gè)過程我們叫 "傳參"。
  • 在函數(shù)中,我們定義了一個(gè) int 型的數(shù)據(jù) c ,用來儲存函數(shù)返回的值,也就是兩數(shù)相加的和。
  • 用單等號 = ,也就是賦值符,將函數(shù)的返回值賦值給了參數(shù) c 。
  • 最后,我們使用庫函數(shù) printf 輸出 c ,也就是輸出了兩數(shù)之和。

我們再把程序改進(jìn)一下,讓計(jì)算的數(shù)據(jù)由 “黑色窗口” 輸入。

#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);
  printf("%d",c);
  return 0;
}
  • 這里我們需要注意的一點(diǎn),函數(shù)中的參數(shù)名,跟主函數(shù)中的參數(shù)名是互不影響的,它們雖然名字相同,都是a和b,但卻獨(dú)立工作。 我們稱這樣的變量為"局部變量"。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7605

    瀏覽量

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

    關(guān)注

    3

    文章

    4332

    瀏覽量

    62666
  • Printf
    +關(guān)注

    關(guān)注

    0

    文章

    83

    瀏覽量

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

    關(guān)注

    0

    文章

    11

    瀏覽量

    2337
收藏 人收藏

    評論

    相關(guān)推薦

    函數(shù)指針和指針函數(shù)的概念

    不少朋友會混淆“函數(shù)指針”和“指針函數(shù)”這兩個(gè)概念,本文詳細(xì)介紹一下。
    發(fā)表于 03-09 10:49 ?1214次閱讀

    什么是HOOK函數(shù)?HOOK函數(shù)的用途和用法

    市面上絕大多數(shù)操作系統(tǒng),都存在這樣一類API函數(shù)接口:HOOK函數(shù)(也叫鉤子函數(shù))。
    發(fā)表于 09-13 09:31 ?2327次閱讀
    什么是HOOK<b class='flag-5'>函數(shù)</b>?HOOK<b class='flag-5'>函數(shù)</b>的用途和用法

    階躍函數(shù)和沖激函數(shù)

     階躍函數(shù)和沖激函數(shù)  在分析線性電路過渡過程時(shí),常使用一些奇異函數(shù)來描述電路中的激勵(lì)或響應(yīng)。階躍函數(shù)和沖激函數(shù)是兩
    發(fā)表于 07-27 10:57 ?1.4w次閱讀

    類成員函數(shù)與普通函數(shù)的區(qū)別研究

    本文的目的是研究類成員函數(shù)與普通函數(shù)之區(qū)別,以及不同調(diào)用方式之間的區(qū)別,進(jìn)而通過內(nèi)聯(lián)匯編語句模仿特定的調(diào)用,從而完成通過普通函數(shù)指針調(diào)用類成員函數(shù)的功能。因此主要
    發(fā)表于 09-15 14:52 ?32次下載

    c語言函數(shù)指針定義,指針函數(shù)函數(shù)指針的區(qū)別

     往往,我們一提到指針函數(shù)函數(shù)指針的時(shí)候,就有很多人弄不懂。下面就由小編詳細(xì)為大家介紹C語言中函數(shù)指針,指針函數(shù)函數(shù)指針之間的區(qū)別。
    發(fā)表于 11-16 15:18 ?3628次閱讀

    內(nèi)聯(lián)函數(shù)和外聯(lián)函數(shù)有什么區(qū)別

    內(nèi)聯(lián)函數(shù)是指用inline關(guān)鍵字修飾的函數(shù)。在類內(nèi)定義的函數(shù)被默認(rèn)成內(nèi)聯(lián)函數(shù)。內(nèi)聯(lián)函數(shù)從源代碼層看,有
    發(fā)表于 12-15 11:52 ?5874次閱讀
    內(nèi)聯(lián)<b class='flag-5'>函數(shù)</b>和外聯(lián)<b class='flag-5'>函數(shù)</b>有什么區(qū)別

    基于plateaued函數(shù)的平衡布爾函數(shù)構(gòu)造

    布爾函數(shù)在對稱密碼的設(shè)計(jì)和分析中起著重要的作用。通過對譜不相交函數(shù)集中子函數(shù)平衡性的問題的研究給出了包含4個(gè)plateaued函數(shù)函數(shù)集中
    發(fā)表于 12-17 09:43 ?0次下載

    標(biāo)準(zhǔn)函數(shù)是什么_標(biāo)準(zhǔn)函數(shù)有哪些

    在程序設(shè)計(jì)中,常將一些常用的功能模塊編寫成的函數(shù)放在函數(shù)庫中供公共選用,一般稱為標(biāo)準(zhǔn)函數(shù)。程序是由若干個(gè)程序模塊組成的,高級語言中有子程序這個(gè)概念,子程序的功能由函數(shù)來實(shí)現(xiàn)的。C++標(biāo)
    的頭像 發(fā)表于 03-02 10:24 ?9281次閱讀
    標(biāo)準(zhǔn)<b class='flag-5'>函數(shù)</b>是什么_標(biāo)準(zhǔn)<b class='flag-5'>函數(shù)</b>有哪些

    理解函數(shù)指針、函數(shù)指針數(shù)組、函數(shù)指針數(shù)組的指針

    理解函數(shù)指針、函數(shù)指針數(shù)組、函數(shù)指針數(shù)組的指針
    的頭像 發(fā)表于 06-29 15:38 ?1.5w次閱讀
    理解<b class='flag-5'>函數(shù)</b>指針、<b class='flag-5'>函數(shù)</b>指針數(shù)組、<b class='flag-5'>函數(shù)</b>指針數(shù)組的指針

    C語言函數(shù)的回調(diào)函數(shù)

    來源:嵌入式客棧 1 什么是回調(diào)函數(shù)?首先什么是回調(diào)呢? 我的理解是:把一段可執(zhí)行的代碼像參數(shù)傳遞那樣傳給其他代碼,而這段代碼會在某個(gè)時(shí)刻被調(diào)用執(zhí)行,這就叫做回調(diào)。 如果代碼立即被執(zhí)行就稱為同步回調(diào)
    的頭像 發(fā)表于 09-11 09:57 ?4140次閱讀

    C語言-內(nèi)聯(lián)函數(shù)、遞歸函數(shù)、指針函數(shù)

    這篇文章介紹C語言的內(nèi)聯(lián)函數(shù)、遞歸函數(shù)、函數(shù)指針、指針函數(shù)、局部地址、const關(guān)鍵字、extern關(guān)鍵字等知識點(diǎn);這些知識點(diǎn)在實(shí)際項(xiàng)目開發(fā)中非常常用,非常重要。
    的頭像 發(fā)表于 08-14 10:03 ?1695次閱讀

    復(fù)變函數(shù)的共軛和原函數(shù)的關(guān)系

    復(fù)變函數(shù)的共軛和原函數(shù)的關(guān)系? 復(fù)變函數(shù)的共軛與原函數(shù)之間存在著密切的關(guān)系,這是因?yàn)楣曹椇驮?b class='flag-5'>函數(shù)都是復(fù)數(shù)
    的頭像 發(fā)表于 09-07 16:43 ?5961次閱讀

    函數(shù)類型和函數(shù)指針類型的區(qū)別

    平時(shí)用的更多的是函數(shù)指針類型,比如作為函數(shù)參數(shù)傳入回調(diào)函數(shù)等等。實(shí)際上函數(shù)類型也是可以作為函數(shù)的參數(shù)進(jìn)行傳遞的。
    發(fā)表于 10-24 14:27 ?399次閱讀

    函數(shù)指針與回調(diào)函數(shù)的應(yīng)用實(shí)例

    通常我們說的指針變量是指向一個(gè)整型、字符型或數(shù)組等變量,而函數(shù)指針是指向函數(shù)。 函數(shù)指針可以像一般函數(shù)一樣,用于調(diào)用函數(shù)、傳遞參數(shù)。
    的頭像 發(fā)表于 03-07 11:13 ?405次閱讀
    <b class='flag-5'>函數(shù)</b>指針與回調(diào)<b class='flag-5'>函數(shù)</b>的應(yīng)用實(shí)例

    SUMIF函數(shù)與SUMIFS函數(shù)的區(qū)別

    SUMIF函數(shù)和SUMIFS函數(shù)都是Excel中用于條件求和的函數(shù),它們可以幫助用戶根據(jù)特定的條件對數(shù)據(jù)進(jìn)行求和。盡管它們的基本功能相似,但在使用場景和功能上存在一些差異。以下是對這兩個(gè)函數(shù)
    的頭像 發(fā)表于 10-30 09:51 ?1134次閱讀