如果一個函數(shù)要使用參數(shù),它就必須定義接受參數(shù)值的變量。
4.3.1 形式參數(shù)與實際參數(shù)
函數(shù)定義時填入的參數(shù)我們稱之為形式參數(shù),簡稱形參,它們同函數(shù)內部的局部變量作用相同。形參的定義是在函數(shù)名之后和函數(shù)開始的花括號之前。
調用時填入的參數(shù),我們稱之為實際參數(shù),簡稱實參。
必須確認所定義的形參與調用函數(shù)的實際參數(shù)類型一致,同時還要保證在調用時形參與實參的個數(shù)出現(xiàn)的次序也要一一對應。如果不一致,將產生意料不到的結果。與許多其它高級語言不同,(是健壯的,它總要做一些甚至你不希望的事情,幾乎沒有運行時錯誤檢查,完
全沒有范圍檢測。作為程序員,必須小心行事以保證不發(fā)生錯誤,安全運行。來源:www.examda.com
4.3.2 賦值調用與引用調用
一般說來,有兩種方法可以把參數(shù)傳遞給函數(shù)。第一種叫做“賦值調用”(call by value),這種方法是把參數(shù)的值復制到函數(shù)的形式參數(shù)中。這樣,函數(shù)中的形式參數(shù)的任何變化不會影響到調用時所使用的變量。
把參數(shù)傳遞給函數(shù)的第二種方法是“引用調用”(call by reference)。這種方法是把參數(shù)的地址復制給形式參數(shù),在函數(shù)中,這個地址用來訪問調用中所使用的實際參數(shù)。這意味著,形式參數(shù)的變化會影響調用時所使用的那個變量(詳細內容請參見后續(xù)章節(jié))。
除少數(shù)情況外,C語言使用賦值調用來傳遞參數(shù)。這意味著,一般不能改變調用時所用變量的值。請看例4 - 9。
在這個例子里,傳遞給函數(shù)sqr( )的參數(shù)值是復制給形式參數(shù)x的,當賦值語句x = x * x執(zhí)行時,僅修改局部變量x。用于調用sqr ( )的變量t,仍然保持著值10。
執(zhí)行程序:
RUN
100 10
切記,傳給函數(shù)的只是參數(shù)值的復制品。所有發(fā)生在函數(shù)內部的變化均無法影響調用時使用的變量。
4.3.1 形式參數(shù)與實際參數(shù)
函數(shù)定義時填入的參數(shù)我們稱之為形式參數(shù),簡稱形參,它們同函數(shù)內部的局部變量作用相同。形參的定義是在函數(shù)名之后和函數(shù)開始的花括號之前。
調用時填入的參數(shù),我們稱之為實際參數(shù),簡稱實參。
必須確認所定義的形參與調用函數(shù)的實際參數(shù)類型一致,同時還要保證在調用時形參與實參的個數(shù)出現(xiàn)的次序也要一一對應。如果不一致,將產生意料不到的結果。與許多其它高級語言不同,(是健壯的,它總要做一些甚至你不希望的事情,幾乎沒有運行時錯誤檢查,完
全沒有范圍檢測。作為程序員,必須小心行事以保證不發(fā)生錯誤,安全運行。來源:www.examda.com
4.3.2 賦值調用與引用調用
一般說來,有兩種方法可以把參數(shù)傳遞給函數(shù)。第一種叫做“賦值調用”(call by value),這種方法是把參數(shù)的值復制到函數(shù)的形式參數(shù)中。這樣,函數(shù)中的形式參數(shù)的任何變化不會影響到調用時所使用的變量。
把參數(shù)傳遞給函數(shù)的第二種方法是“引用調用”(call by reference)。這種方法是把參數(shù)的地址復制給形式參數(shù),在函數(shù)中,這個地址用來訪問調用中所使用的實際參數(shù)。這意味著,形式參數(shù)的變化會影響調用時所使用的那個變量(詳細內容請參見后續(xù)章節(jié))。
除少數(shù)情況外,C語言使用賦值調用來傳遞參數(shù)。這意味著,一般不能改變調用時所用變量的值。請看例4 - 9。
在這個例子里,傳遞給函數(shù)sqr( )的參數(shù)值是復制給形式參數(shù)x的,當賦值語句x = x * x執(zhí)行時,僅修改局部變量x。用于調用sqr ( )的變量t,仍然保持著值10。
執(zhí)行程序:
RUN
100 10
切記,傳給函數(shù)的只是參數(shù)值的復制品。所有發(fā)生在函數(shù)內部的變化均無法影響調用時使用的變量。