C语言学习笔记-7.函数
一、函數(shù)的使用
1.每個(gè)函數(shù)在使用之前必須先定義
??? 例:void function();?????? //有分號(hào)
????????? int main() {…}
????????? void add() {…}?????? //無分號(hào)
2.文件包含處理:
?? #include <文件名>?????? 在庫函數(shù)頭文件所在目錄中查找(標(biāo)準(zhǔn)方式)
?? #include “文件名”????? 先在當(dāng)前工作目錄中查找,若沒有則使用標(biāo)準(zhǔn)方式
3.函數(shù)的調(diào)用
??? 形參:定義一個(gè)函數(shù)時(shí)指定的參數(shù)
??? 實(shí)參:調(diào)用一個(gè)函數(shù)時(shí)指定的參數(shù)
???????????? 注:C語言規(guī)定只能由形參傳給實(shí)參
二、函數(shù)變量的作用范圍
1.局部變量的作用范圍是它所在的整個(gè)函數(shù)(包括main函數(shù))
?? 形參可以視為局部變量
2.全局變量的作用范圍:從定義這個(gè)變量的位置開始,至程序結(jié)束
?? 如果在同一源文件中,全局變量與局部變量同名,則在局部變量的作用域內(nèi),全局變量將被屏蔽
3.函數(shù)的調(diào)用:
???? 控制流:語句執(zhí)行的順序
???? 數(shù)據(jù)流:在函數(shù)調(diào)用發(fā)生及結(jié)束時(shí),數(shù)據(jù)在函數(shù)之間流轉(zhuǎn)的過程,如參數(shù)的傳遞、返回
三、函數(shù)調(diào)用的實(shí)現(xiàn)過程
1.進(jìn)程的內(nèi)存分布
| 操作系統(tǒng) | ? |
| 代碼 | ? |
| 數(shù)據(jù)段 | 編譯器用來存儲(chǔ)字符串常量的地方 |
| 堆 | 主要用作動(dòng)態(tài)申請的內(nèi)存空間 |
| 棧? S1 | 在調(diào)用一個(gè)函數(shù)時(shí),系統(tǒng)在棧空間中自動(dòng)分配一塊區(qū) |
| ???? S2 | 域給這個(gè)函數(shù),用來存放形參和局部變量等信息 |
| ???? …… | ? |
| 全局變量 | ? |
2.全局變量會(huì)被初始化為0
四、數(shù)組與函數(shù)參數(shù)
1.函數(shù)定義:double averagee(int a[], int n) {…}
?? 函數(shù)調(diào)用:average(score, n);
???? 注意:數(shù)據(jù)類型必須一致
????????????? 由于形參數(shù)組名實(shí)質(zhì)上是指針,所以定義時(shí)可以不指定大小
????????????? 由于數(shù)組名不帶有長度信息,因此需增加一個(gè)參數(shù),用來傳遞數(shù)組的長度
五、變量的存儲(chǔ)屬性
1.存儲(chǔ)類型:
| auto(自動(dòng)型) | 默認(rèn)局部變量,屬于默認(rèn)類型 |
| register(寄存器型) | 存儲(chǔ)在CPU寄存器中,優(yōu)點(diǎn):效率高,缺點(diǎn):個(gè)數(shù)少,只能為int型 |
| static(靜態(tài)型) | 性質(zhì):全局壽命,局部可見性,可繼承性 |
| extern(外部型) | 不是變量定義,只是擴(kuò)展外部變量作用域(范圍:變量定義位置到源文件結(jié)束,及其他有extern說明的) |
轉(zhuǎn)載于:https://www.cnblogs.com/trj14/p/4282733.html
總結(jié)
以上是生活随笔為你收集整理的C语言学习笔记-7.函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Software Version
- 下一篇: Youtube最佳Red5 官方视频下载