如何理解庫(kù)函數(shù)
庫(kù)是已經(jīng)寫好的、成熟的、可復(fù)用的代碼。每個(gè)程序都需要依賴很多底層庫(kù),不可能每個(gè)人的代碼從零開始編寫代碼,因此庫(kù)的存在具有非常重要的意義。在我們的開發(fā)的應(yīng)用中經(jīng)常有一些公共代碼是需要反復(fù)使用的,就把這些代碼編譯為庫(kù)文件。庫(kù)可以簡(jiǎn)單看成一組目標(biāo)文件的集合,將這些目標(biāo)文件經(jīng)過壓縮打包之后形成的一個(gè)文件。像在Windows這樣的平臺(tái)上,最常用的c語(yǔ)言庫(kù)是由集成按開發(fā)環(huán)境所附帶的運(yùn)行庫(kù),這些庫(kù)一般由編譯廠商提供
如何理解指針作為函數(shù)參數(shù)的輸入和輸出特性
輸入特性:主調(diào)函數(shù)分配空間 背調(diào)函數(shù)使用該空間
輸出特性:被調(diào)用分配空間 主調(diào)函數(shù)使用該空間
函數(shù)名的意義
在c語(yǔ)言中 函數(shù)名代表的是函數(shù)的入口地址
函數(shù)的形參和實(shí)參的區(qū)別
宏函數(shù)以及作用
形參:在函數(shù)定義時(shí)候定義形參(例如:x,y),一般由形參類型和形參名組成。在定義函數(shù)是不會(huì)為形參開辟空間,只有在函數(shù)調(diào)用時(shí)系統(tǒng)才會(huì)為形參開辟空間
實(shí)參:在函數(shù)調(diào)用時(shí)傳遞給函數(shù)的實(shí)際參數(shù)(例如:data1,data2),他在函數(shù)調(diào)用前就存在的
函數(shù)的作用
將為同一功能服務(wù)的代碼,封裝在一起,通過函數(shù)名直接調(diào)用,提高代碼的重用
函數(shù)的定義與函數(shù)的聲明的區(qū)別
函數(shù)定義:是指對(duì)函數(shù)功能的確立,包括指定函數(shù)名、函數(shù)類型、形參及其類型、函數(shù)體等,它是一個(gè)完整的、獨(dú)立的函數(shù)單位。
函數(shù)的聲明:是把函數(shù)的名字、函數(shù)類型以及形參的個(gè)數(shù)、類型和順序(注意,不包括函數(shù)體)通知編譯系統(tǒng),以便在對(duì)包含函數(shù)調(diào)用的語(yǔ)句進(jìn)行編譯時(shí),據(jù)此對(duì)其進(jìn)行對(duì)照檢查(例如函數(shù)名是否正確,實(shí)參與形參的類型和個(gè)數(shù)是否一致)
從定義的角度為函數(shù)分類
庫(kù)函數(shù)(c語(yǔ)言庫(kù))、自定義函數(shù)、系統(tǒng)調(diào)用(內(nèi)核提供給用戶的函數(shù)接口)
從有無(wú)參數(shù)的角度對(duì)函數(shù)分類
無(wú)參的函數(shù):不能將函數(shù)外部的數(shù)據(jù) 傳遞 給函數(shù)內(nèi)部
有參的函數(shù):通過參數(shù) 將函數(shù)外部的數(shù)據(jù) 傳遞到函數(shù)內(nèi)部
(參數(shù):函數(shù)外部數(shù)據(jù) 到 函數(shù)內(nèi)部的 橋梁)
普通變量作為函數(shù)的參數(shù)特點(diǎn)
函數(shù)內(nèi)部可以借助函數(shù)的參數(shù)使用外部變量的值,但是函數(shù)內(nèi)部不能通過形參間接修改外部變量的值(單向傳遞中的值傳遞)
一維數(shù)組作為函數(shù)的參數(shù)的特點(diǎn)
數(shù)組作為函數(shù)的參數(shù),會(huì)被優(yōu)化成數(shù)組元素指針變量,在調(diào)用函數(shù)的時(shí)候?qū)崊⒅恍枰獋鬟f數(shù)組的首元素地址就可以操作數(shù)組的所有元素
在32位平臺(tái)Void func(int arr[5]){}則sizeof(arr)的結(jié)果
4字節(jié)
二維數(shù)組作為函數(shù)的特點(diǎn)
二維數(shù)組作為函數(shù)的參數(shù)會(huì)被優(yōu)化成數(shù)組指針,函數(shù)內(nèi)部可以借助該數(shù)組指針操作二維數(shù)組的所有元素。在操作數(shù)組元素上該數(shù)組指針等價(jià)于函數(shù)外部的二維數(shù)組名
更多關(guān)于物聯(lián)網(wǎng)培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),采用全程面授高品質(zhì)、高體驗(yàn)培養(yǎng)模式,擁有國(guó)內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實(shí)現(xiàn)高薪夢(mèng)想。