1、無(wú)參函數(shù) 當(dāng)然 無(wú)形參,談不上省。--- 老式c語(yǔ)言 形參類(lèi)型能省,形參名不可以省。
目前創(chuàng)新互聯(lián)公司已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、南崗網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
2、形參名可以省,形參的類(lèi)型不要??;如int fact(int);以便編譯器識(shí)別形參和實(shí)參的類(lèi)型是否匹配。
3、理論上是可以省略的 如 函數(shù) void fun(int a) { }; 聲明成void fun(int );或者void fun()都是可以的 但是這樣編譯器就不能檢查實(shí)參和形參是否匹配。
4、函數(shù)定義時(shí)必須寫(xiě)出形參類(lèi)型和變量名。C語(yǔ)言中的標(biāo)準(zhǔn)函數(shù)printf便使用這種機(jī)制。在聲明不確定形參的函數(shù)時(shí),形參部分可以使用省略號(hào)“…”代替。
5、傳入對(duì)應(yīng)個(gè)數(shù) 類(lèi)型匹配的實(shí)參就行。聲明的時(shí)候,可以省略形參的參數(shù)名,而只保留類(lèi)型。即 聲明int fun(int , int);和聲明 int fun(int a, int b);效果是完全一樣的 。 調(diào)用的時(shí)候 都是傳入兩個(gè)整型參數(shù)即可。
1、int main(int argc,char *argv[]) { ... }完全等價(jià)。
2、C89/90 編譯器支持的K&R格式的C語(yǔ)法,參數(shù)聲明跟在函數(shù)括弧后。C99也支持該語(yǔ)法,只不過(guò)在C99中,參數(shù)聲明必須顯式,沒(méi)有默認(rèn)的int支持。
3、大括號(hào)的作用是把內(nèi)部的多個(gè)語(yǔ)句綁在一起,當(dāng)成一個(gè)語(yǔ)句。 在c中大括號(hào)的作用是將很多語(yǔ)句復(fù)合為一個(gè)語(yǔ)句塊,在這個(gè)大括號(hào)括起來(lái)的語(yǔ)句塊中可以定義變量,該變量?jī)?nèi)存出了該語(yǔ)句塊就會(huì)被釋放。
4、花括號(hào){}主要是為了表示一段代碼是一個(gè)部分,。
5、大括號(hào)也稱(chēng)花括號(hào)是程序塊的分界符,大括號(hào)起的作用主要就是劃分區(qū)域用的。沒(méi)有規(guī)定for后面一定要加大括號(hào),如果for循環(huán)里只有一個(gè)語(yǔ)句,如果有多個(gè)語(yǔ)句,就需要用一個(gè)大括號(hào)把他們包起來(lái)。
其中的s嚴(yán)格意義上講是不是應(yīng)該叫形參,同樣也是局部變量 上面這句是對(duì)的。
從內(nèi)存角度來(lái)講,函數(shù)參數(shù)是一定保存到棧區(qū)的,函數(shù)體內(nèi)定義的變量可以保存到棧區(qū),比如局部變量,也可以保存到靜態(tài)數(shù)據(jù)區(qū),比如static變量。
像 if(){ int i;} 在緊跟大括號(hào)后面可以定義變量,這i就是局部變量。像這種帶大括號(hào)的,就是符合語(yǔ)句。
可以認(rèn)為是局部變量,而且只在函數(shù)調(diào)用范圍內(nèi)有效 實(shí)際上函數(shù)的參數(shù)部分,是由系統(tǒng)在堆棧中臨時(shí)申請(qǐng)的空間并存放參數(shù)數(shù)值的臨時(shí)變量,函數(shù)返回后會(huì)同函數(shù)中申請(qǐng)的非靜態(tài)變量一起被釋放。