C語言修煉之路一朝函數(shù)思習得?模塊思維世間生下篇
(壹) 自定義函數(shù)
自定義函數(shù)和庫函數(shù)一樣,有函數(shù)名,返回值類型和函數(shù)參數(shù)。 但是不一樣的是這些都是我們自己來設計。這給程序員一個很大的發(fā)揮空間。
1.1 函數(shù)的組成
1.2 自定義函數(shù)使用
①寫一個函數(shù)可以找出兩個整數(shù)中的最大值。
②寫一個函數(shù)可以交換兩個整形變量的內(nèi)容。
錯誤案例 (下文有詳細解析)
簡單來說:實參a和b,傳給形參x,y的時候,形參是實參的一份臨時拷貝
改變形參x,y并不會影響實參a,b
正確案例
(貳) 函數(shù)的參數(shù)
2.1 實際參數(shù)(實參):
真實傳給函數(shù)的參數(shù),叫實參。實參可以是:常量、變量、表達式、函數(shù)等。無論實參是何種類型的量,在進行函數(shù)調(diào)用時,它們都必須有確定的值,以便把這些值傳送給形參。
2.2 形式參數(shù)(形參):
形式參數(shù)是指函數(shù)名后括號中的變量,因為形式參數(shù)只有在函數(shù)被調(diào)用的過程中才實例化(分配內(nèi)存單元),所以叫形式參數(shù)。形式參數(shù)當函數(shù)調(diào)用完成之后就自動銷毀了。因此形式參數(shù)只在函數(shù)中有效。
上面Swap1和Swap2函數(shù)中的參數(shù)x,y,px,py都是形式參數(shù)。在main函數(shù)中傳給Swap1的num1,num2和傳給Swap2函數(shù)的&num1,&num2是實際參數(shù)。
這里我們對函數(shù)的實參和形參進行分析:
這里可以看到Swap1函數(shù)在調(diào)用的時候,x,y擁有自己的空間,同時擁有了和實參一模一樣的內(nèi)容。所以我們可以簡單的認為:形參實例化之后其實相當于實參的一份臨時拷貝。
(叁)函數(shù)的調(diào)用
3.1 傳值調(diào)用
函數(shù)的形參和實參分別占有不同內(nèi)存塊,對形參的修改不會影響實參。
3.2 傳址調(diào)用
傳址調(diào)用是把函數(shù)外部創(chuàng)建變量的內(nèi)存地址傳遞給函數(shù)參數(shù)的一種調(diào)用函數(shù)的方式。這種傳參方式可以讓函數(shù)和函數(shù)外邊的變量建立起正真的聯(lián)系,也就是函數(shù)內(nèi)部可以直接操作函數(shù)外部的變量。
(肆)函數(shù)的嵌套調(diào)用和鏈式訪問
函數(shù)和函數(shù)之間可以有機的組合的。
4.1 嵌套調(diào)用
函數(shù)可以嵌套調(diào)用,但不能嵌套定義
4.2 鏈式訪問
把一個函數(shù)的返回值作為另外一個函數(shù)的參數(shù)。
(五)函數(shù)的聲明和定義
5.1 函數(shù)聲明
- 告訴編譯器有一個函數(shù)叫什么,參數(shù)是什么,返回類型是什么。但是具體是不是存在,無關緊要。
- 函數(shù)的聲明一般出現(xiàn)在函數(shù)的使用之前。要滿足先聲明后使用。
- 函數(shù)的聲明一般要放在頭文件中的。
5.2 函數(shù)定義
函數(shù)的定義是指函數(shù)的具體實現(xiàn),交待函數(shù)的功能實現(xiàn)。
到此這篇關于C語言修煉之路一朝函數(shù)思習得 模塊思維世間生下篇的文章就介紹到這了,更多相關C語言 函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C++使用fdk-aac實現(xiàn)將音頻PCM編碼成aac
mp4的音頻流通常是aac編碼,我們做音視頻采集的時候就需要將,采集的音頻PCM編碼成aac,本文就來為大家介紹一下C++如何使用fdk-aac實現(xiàn)將音頻PCM編碼成aac吧2023-11-11詳解VS2019 dumpbin查看DLL的導出函數(shù)
這篇文章主要介紹了詳解VS2019 dumpbin查看DLL的導出函數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08