c語言中預設
1、形參的類型是不能省略的。函數的存儲類型就是函數定義時函數名前面的數據類型前面的存儲類型,預設時應該是:extern
,表示該函數屬外部函數(即可以被本C文件外的其他C源程序文件中的函數調用)。
2、對於自定義函數,可使用預設參數來達到某一程度的「重載」等功能,預設參數只能放在函數聲明中,因為編譯器必須在使用前知道預設值。只有函數參數列表後部參數能夠預設,一旦在某一位置使用預設參數值後,自此位置以後皆為預設參數值。
預設參數可以讓參數沒有標識符,在C++中,函數定義是,不一定需要標識符:
void
f(int
number,
int
=
0,
float
=
1.1f);
void
f(int
number,
int
,
float
f){/*
....
*/}
在此函數體中,number與f可被引用,但沒有標識符的int則不行,調用時如f(0)(此時函數的參數列表為(0,0,1.1))或f(0,1,2)。這種語法允許我們將一個參數作為佔位符而不去使用它,其目的在於我們以後可以修改函數定義而uxuyao修改所有的函數調用(存在參數名沒有使用編譯器將給出一個警告),更重要的是當我們開始使用一函數參數後發現不需要它時,我們可以高效地將它刪除而不會產生警告錯誤,並且不需要修改函數那些調用函數以前版本的程序代碼。
2. c語言中形參的預設存儲類別是
c語言中形參或者說所有的變數,預設的存儲類別都是auto的。C語言中四種存儲類別:auto、static、extern、register 。
其中大部分均為auto,auto為默認的類別,一般未標明的都是auto;如果標明了哪種類別,那就按標明的來。
(2)c語言中預設擴展閱讀:
形參的作用是實現主調函數與被調函數之間的聯系,通常將函數所處理的數據,影響函數功能的因素或者函數處理的結果作為形參。
沒有形參的函數在形參表的位置應該寫int main(void) 函數也可以有形參和返回值,其形參也稱為命令行參數,由操作系統在啟動程序時初始化,其返回值傳遞給操作系統。
形參的特點:
1、形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只在函數內部有效。函數調用結束返回主調用函數後則不能再使用該形參變數。
2、實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使參數獲得確定值。
3、實參和形參在數量上,類型上、順序上應嚴格一致,否則就會發生類型不匹配的錯誤。
4、在一般傳值調用的機制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數調用過程中,形參值發生改變,而實參中的值不會變化。而在引用調用的機制當中是將實參引用的地址傳遞給了形參,所以任何發生在形參上的改變實際上也發生在實參變數上。