形參和實參舉例 c語言中形參和實參類型不一致時以什么為準?
c語言中形參和實參類型不一致時以什么為準?調(diào)用函數(shù)時,實際參數(shù)的值將傳遞給形式參數(shù),這相當(dāng)于賦值操作。左邊的變量類型是標準。如果類型不一致,則將右邊的值轉(zhuǎn)換為右邊變量的數(shù)據(jù)類型,如n=3.8;然后將3
c語言中形參和實參類型不一致時以什么為準?
調(diào)用函數(shù)時,實際參數(shù)的值將傳遞給形式參數(shù),這相當(dāng)于賦值操作。左邊的變量類型是標準。如果類型不一致,則將右邊的值轉(zhuǎn)換為右邊變量的數(shù)據(jù)類型,如n=3.8;然后將3.8轉(zhuǎn)換為3,再賦值給n
編譯時編譯器默認檢查類型,當(dāng)參與參數(shù)類型的行為空時,會提示編譯警告不一致的。如果確認分配調(diào)用不存在,沒有發(fā)生分配不兼容,不會出現(xiàn)溢出現(xiàn)象,可以使用強制類型轉(zhuǎn)換跳過編譯警告。也可以在編譯選項中取消類型檢查。因此,行參數(shù)的類型和實際參數(shù)應(yīng)該是一致的,這是不必要的。
在c語言中,調(diào)用函數(shù)時,行參和實參的類型必須完全一致嗎?
可以相同,也可以不同
在程序執(zhí)行過程中,實際參數(shù)的作用域是主要函數(shù)。只要程序不停止,實際參數(shù)總是有效的。形式參數(shù)是定義函數(shù)。系統(tǒng)僅在調(diào)用函數(shù)時分配臨時內(nèi)存。在用戶定義函數(shù)執(zhí)行之后,形式參數(shù)的臨時存儲空間將被釋放。因此,即使形式參數(shù)和實際參數(shù)的類型和名稱完全相同,系統(tǒng)也可以區(qū)分它們。也就是說,可以完全相同。
函數(shù)參數(shù)和參數(shù)具有以下特征:
1。參數(shù)變量僅在調(diào)用時分配內(nèi)存單元,并在調(diào)用結(jié)束時釋放分配的內(nèi)存單元。因此,形式參數(shù)僅在函數(shù)內(nèi)部有效。
函數(shù)調(diào)用結(jié)束并返回主調(diào)用函數(shù)后,不能再使用形式參數(shù)變量。
2. 實際參數(shù)可以是常量、變量、表達式、函數(shù)等。無論實際參數(shù)是什么類型的量,在調(diào)用時都必須有特定的值,以便將這些值轉(zhuǎn)換為形式參數(shù)。
因此,我們應(yīng)該事先使用賦值、輸入等方法來獲得實際參數(shù)的定值。
3. 實際參數(shù)和形式參數(shù)的個數(shù)、類型和順序應(yīng)嚴格一致,否則會出現(xiàn)“類型不匹配”的錯誤。
因此,在函數(shù)調(diào)用過程中,形式參數(shù)的值會發(fā)生變化,而實際參數(shù)的值不會發(fā)生變化