回覆列表
-
1 # 使用者1430558932451
-
2 # 王小佳的慧慧
編譯器在編譯時預設會做型別檢查,發現行參與實參型別不一致時會提示編譯警告,如果確認賦值呼叫不存在賦值不相容,且不會發生溢值現象,可以使用強制型別轉換,跳開編譯警告。此外,可以也在編譯選項中取消型別檢查。所以,行參和實參的型別最好一致,應該不是必須。
編譯器在編譯時預設會做型別檢查,發現行參與實參型別不一致時會提示編譯警告,如果確認賦值呼叫不存在賦值不相容,且不會發生溢值現象,可以使用強制型別轉換,跳開編譯警告。此外,可以也在編譯選項中取消型別檢查。所以,行參和實參的型別最好一致,應該不是必須。
可以相同但也可以不相同 在程式執行的過程中,實參的作用域是主函式,只要程式沒有停止,實參一直有效;形參是定義函式是引入的引數,系統只在該函式被呼叫時分配臨時記憶體,當自定義函式執行完後,用於臨時儲存形參的空間將被釋放。所以即使形參和實參的型別,名字完全一樣,系統也能夠把它們區分開。即可以完全一樣。 函式的形參和實參具有以下特點:
1.形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只有在函式內部有效。 函式呼叫結束返回主調函式後則不能再使用該形參變數。
2.實參可以是常量、變數、表示式、函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須具有確定的值,以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。
3.實參和形參在數量上,型別上,順序上應嚴格一致,否則會發生“型別不匹配”的錯誤。
4.函式呼叫中發生的資料傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函式呼叫過程中,形參的值發生改變,而實參中的值不會變化