函數(shù)的簡(jiǎn)單介紹
函數(shù)定義的一般形式如下:
函數(shù)值類(lèi)型 函數(shù)名 (形式參數(shù)列表)
{
函數(shù)體
}
1、函數(shù)值類(lèi)型,就是函數(shù)返回值的類(lèi)型。在我們后邊程序使用中,會(huì)有很多函數(shù)中有return x這個(gè)東西,這個(gè)返回值也就是函數(shù)本身的類(lèi)型。還有一種情況,就是這個(gè)函數(shù)只執(zhí)行操作,不需要返回任何值,那么這個(gè)時(shí)候它的類(lèi)型就是空類(lèi)型void,這個(gè)void按道理來(lái)說(shuō)是可以省略的,但是一旦省略,Keil軟件會(huì)報(bào)一個(gè)警告,所以我們通常也不省。
2、函數(shù)名。可以是任何合法的標(biāo)示符,但是不能與其他函數(shù)或者變量重名,也不能是關(guān)鍵字。什么是關(guān)鍵字,后邊我們慢慢接觸,比如char這類(lèi),都是關(guān)鍵字,是我們程序中具備特殊功能的標(biāo)志符,這種東西不可以命名函數(shù)。
3、形式參數(shù)列表,我們也叫做形參,這個(gè)是函數(shù)調(diào)用的時(shí)候,相互傳遞數(shù)據(jù)用的。有的函數(shù),我們不需要傳遞參數(shù),那么可以用void來(lái)替代,void同樣可以省略,但是那個(gè)括號(hào)是不能省略的。
4、函數(shù)體。函數(shù)體包含了聲明語(yǔ)句部分和執(zhí)行語(yǔ)句部分。聲明語(yǔ)句部分主要用于聲明函數(shù)內(nèi)部所使用的變量,執(zhí)行語(yǔ)句部分主要是一些函數(shù)需要執(zhí)行的語(yǔ)句。特別注意,所有的聲明語(yǔ)句部分必須放在執(zhí)行語(yǔ)句之前,否則編譯的時(shí)候會(huì)報(bào)錯(cuò)。
5、一個(gè)工程文件必須有且僅能有一個(gè)main函數(shù),程序執(zhí)行的時(shí)候,都是從main函數(shù)開(kāi)始的。
6、關(guān)于形參和實(shí)參的概念,我們后邊再總結(jié),如果遇到程序里有,大家再跟著抄一段時(shí)間。先用,后講解,這樣更有利于理解。
我們?cè)賮?lái)回顧一下我們上節(jié)課閃爍LED程序部分
void main() //void即函數(shù)類(lèi)型
{
unsigned int i = 0; //定義一個(gè)無(wú)符號(hào)整數(shù)i,變量范圍是0~65535
//并且賦一個(gè)初值0
ENLED = 0; //先定義變量i,后寫(xiě)執(zhí)行部分
ADDR0 = 0;
ADDR1 = 1;
ADDR2 = 1;
ADDR3 = 1; //74HC138開(kāi)啟三極管
while(1) //程序死循環(huán)
{
LED = 0; //點(diǎn)亮小燈
for(i=0;i<30000;i++); //for延時(shí)操作
LED = 1; //熄滅小燈
for(i=0;i<30000;i++); //for延時(shí)操作
}
編輯:admin 最后修改時(shí)間:2018-05-08