在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            博客專欄

            EEPW首頁 > 博客 > Linux C - C基礎(chǔ)篇八(函數(shù))

            Linux C - C基礎(chǔ)篇八(函數(shù))

            發(fā)布人:嵌入式Linux 時間:2023-01-12 來源:工程師 發(fā)布文章
            概念

            函數(shù)可以被看作是一個由用戶定義的一系列操作的集合。一般來說,函數(shù)用一個名字來表示。函數(shù)的操作數(shù),稱為參數(shù),由一個位于括號中,并且用逗號分隔的參數(shù)列表指定,如果該函數(shù)沒有參數(shù)需要傳入,則這個列表為空,或者僅有關(guān)鍵字void;函數(shù)的結(jié)果被稱為返回值,返回值的類型被稱為函數(shù)返回類型,不產(chǎn)生返回值的函數(shù),返回類型是void,意思是什么都不返回;函數(shù)執(zhí)行的動作在函數(shù)體中指定,函數(shù)體包含在一對花括號中。函數(shù)返回類型、以及其后的函數(shù)名、參數(shù)列表和函數(shù)體構(gòu)成了函數(shù)定義:

            返回值類型 函數(shù)名(參數(shù)列表)

            {

            函數(shù)體

            }

            用戶自定義函數(shù)

            如下,函數(shù)的名字是sum,返回值類型是int,有兩個參數(shù)分別是int型的a和int型的b。

            函數(shù)聲明由函數(shù)返回類型、函數(shù)名、參數(shù)列表構(gòu)成,由";"結(jié)尾,這三個元素被稱為函數(shù)聲明或函數(shù)原型。函數(shù)原型描述的是函數(shù)的接口,它詳細(xì)描述了調(diào)用函數(shù)時需要提供的參數(shù)的類型和個數(shù),以及函數(shù)返回值的類型。一個函數(shù)可在一個文件中被聲明多次,一個函數(shù)通常需要先聲明,然后才能被調(diào)用。例如上面的sum函數(shù)聲明如下:

            int sum(int a, int b);

            庫函數(shù)

            庫函數(shù)就是把一些常用的函數(shù)放到庫里,供別人使用的一種方式。調(diào)用的時候把它所在的文件名用#include<>加到里面就可以了。庫函數(shù)一般是放到lib文件里的。庫函數(shù)的源代碼一般是不可見的,但在頭文件中(xxx.h)你可以看到它對外的接口。下面就是調(diào)用lib里面的庫函數(shù)printf打印內(nèi)容到終端的實例,因為庫函數(shù)printf再頭文件stdio.h中聲明,所以需要使用#include<stdio.h>來引用,在添加引用后,編譯器才能在調(diào)用這個函數(shù)的時候找到它。

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

            函數(shù)調(diào)用通常需要先聲明,然后再調(diào)用。庫函數(shù)的調(diào)用,直接包含它所在的頭文件即可#include <xxx.h>。如果是我們自己定義的函數(shù),如果再文件內(nèi)調(diào)用,則只需在調(diào)用之前聲明這個函數(shù)即可;如果是在文件外調(diào)用,我們通常將這個函數(shù)聲明寫在一個頭文件中,例如xxx.h中,然后在調(diào)用的地方通過#include "xxx.h"即可調(diào)用。

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

            舉個例子,酒店提供叫醒服務(wù),但是要求客人自己決定叫醒的方法。可以是打客房電話,也可以是派服務(wù)員去敲門,睡得死怕耽誤事的,還可以要求往自己頭上澆涼水等等。這里,“叫醒”這個服務(wù)是酒店提供的,相當(dāng)于庫函數(shù),但是叫醒的方式是由旅客決定并告訴酒店的,也就是回調(diào)函數(shù)。而旅客告訴酒店怎么叫醒自己的動作,也就是把回調(diào)函數(shù)傳入庫函數(shù)的動作,稱為注冊(register)回調(diào)函數(shù),也就是說回調(diào)函數(shù)注冊后不會里面調(diào)用,而是等到需要調(diào)用的時候再回來調(diào)用。

            如上面我的的回調(diào)函數(shù)的例子,其中register_service就是用來注冊回調(diào)函數(shù)的,注冊的目的就是現(xiàn)在不調(diào)用,但是在需要回調(diào)的時候,我可以找到這個函數(shù)。上面的service_zhangSan、service_liSi就是回調(diào)函數(shù),所以看來回調(diào)函數(shù)和普通的函數(shù)并沒有區(qū)別,只不過是使用的場景不同。

            不定參函數(shù)

            我們平時常用的函數(shù)參數(shù)個數(shù)都是固定的,但是有時候也會用到一些參數(shù)不固定的函數(shù),例如printf等一系列函數(shù),這些函數(shù)的參數(shù)的個數(shù)是不確定的。下面我寫個簡單的例子來闡述下不定參函數(shù)的實現(xiàn):


            *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。

            紅外熱像儀相關(guān)文章:紅外熱像儀原理
            熱像儀相關(guān)文章:熱像儀原理
            汽車防盜機(jī)相關(guān)文章:汽車防盜機(jī)原理


            關(guān)鍵詞: 函數(shù)

            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉