回覆列表
  • 1 # dadazhu1

    形參和實參的個數沒有對應上。su函式定義了兩個引數,分別是int x和int i,但是在主函式呼叫的時候指只調用了一個x。

    形參和實參的區別和聯絡

    1、形參變數只有在函式被呼叫時才會分配記憶體,呼叫結束後,立刻釋放記憶體,所以形參變數只有在函式內部有效,不能在函式外部使用。

    2、實參可以是常量、變數、表示式、函式等,無論實參是何種型別的資料,在進行函式呼叫時,它們都必須有確定的值,以便把這些值傳送給形參,所以應該提前用賦值、輸入等辦法使實參獲得確定值。

    3、實參和形參在數量上、型別上、順序上必須嚴格一致,否則會發生“型別不匹配”的錯誤。當然,如果能夠進行自動型別轉換,或者進行了強制型別轉換,那麼實參型別也可以不同於形參型別。

    4、函式呼叫中發生的資料傳遞是單向的,只能把實參的值傳遞給形參,而不能把形參的值反向地傳遞給實參;換句話說,一旦完成資料的傳遞,實參和形參就再也沒有瓜葛了,所以,在函式呼叫過程中,形參的值發生改變並不會影響實參。

    擴充套件資料

    函式呼叫的本質:

    在執行呼叫一個函式:本質就是透過call指令呼叫函式在程式碼段的地址進行直接呼叫。在彙編指令可以看到當函式執行完畢,執行ret彙編指令退出函式。其實一個完整的函式呼叫必定包含call和ret指令。

    函式分類:

    1、從使用者使用的角度看,函式有兩種,分別為系統函式和使用者自己定義的函式。系統函式又稱庫函式,是由編譯系統提供的,使用者不必自己定義這些函式,可以直接使用它們;使用者自己定義的函式是用於解決使用者的專門需要。

    注:庫函式在使用時程式中必須包含相應的標頭檔案,如,#include《iostream》等。

    2、從函式的形式看,函式又分為無參函式和有參函式。無參函式呼叫時不必給出引數,有參函式呼叫時要給出引數,在主調函式和被調函式之間有資料傳遞。

  • 中秋節和大豐收的關聯?
  • 鋼結構廠房有哪些優缺點?