形參出現在函數定義中,在整個函數體內都可以使用, 離開該函數則不能使用。實參出現在主調函數中,進入被調函數后,實參變量也不能使用。 形參和實參的功能是作數據傳送。發生函數調用時, 主調函數把實參的值傳送給被調函數的形參從而實現主調函數向被調函數的數據傳送。
創新互聯-專業網站定制、快速模板網站建設、高性價比黔江網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式黔江網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋黔江地區。費用合理售后完善,10多年實體公司更值得信賴。
1.形參變量只有在被調用時才分配內存單元,在調用結束時, 即刻釋放所分配的內存單元。因此,形參只有在函數內部有效。 函數調用結束返回主調函數后則不能再使用該形參變量。
2.實參可以是常量、變量、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。
3.實參和形參在數量上,類型上,順序上應嚴格一致, 否則會發生“類型不匹配”的錯誤。
4.函數調用中發生的數據傳送是單向的。 即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函數調用過程中,形參的值發生改變,而實參中的值不會變化。
函數聲明時只需寫出形參類型。
函數定義時必須寫出形參類型和變量名。
C語言中的標準函數printf便使用這種機制。在聲明不確定形參的函數時,形參部分可以使用省略號“…”代替。“…”告訴編譯器,在函數調用時不檢查形參類型是否與實參類型相同,也不檢查參數個數。
擴展資料
示例
例如:
void ConnectData(int i,...)
在上面的代碼中,編譯器只檢查第一個參數是否為整型,而不對其他參數進行檢查。
對于可變參數的函數,需要進行特殊的處理。首先需要引用 stdarg.h 頭文件,然后利用va_list類型和va_start、va_arg、va_end 3個宏讀取傳遞到函數中的參數值。
這幾個宏的定義如下(在 ANSI C 中):
type va_arg( va_list arg_ptr, type );
void va_end( va_list arg_ptr );
void va_start( va_list arg_ptr, prev_param )。
形參:全稱為“形式參數”是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳遞的參數。
形參的作用是實現主調函數與被調函數之間的聯系,通常將函數所處理的數據,影響函數功能的因素或者函數處理的結果作為形參。
實參:全稱為"實際參數"是在調用時傳遞給函數的參數,即傳遞給被調用函數的值。
實參可以是常量、變量、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。
擴展資料:
形參和實參的特點:
1、形參變量只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只在函數內部有效。函數調用結束返回主調用函數后則不能再使用該形參變量。
2、實參可以是常量、變量、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使參數獲得確定值。
3、實參和形參在數量上,類型上、順序上應嚴格一致,否則就會發生類型不匹配的錯誤。
4、在一般傳值調用的機制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數調用過程中,形參值發生改變,而實參中的值不會變化。而在引用調用的機制當中是將實參引用的地址傳遞給了形參,所以任何發生在形參上的改變實際上也發生在實參變量上。
參考資料來源:百度百科-形參
參考資料來源:百度百科-實參
新聞名稱:c語言函數中必有形參 c語言函數的形參只是形式上的存在不占用具體存儲單元
鏈接URL:http://vcdvsql.cn/article48/ddigdhp.html
成都網站建設公司_創新互聯,為您提供企業網站制作、品牌網站建設、網站排名、自適應網站、ChatGPT、響應式網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯