星期二, 7月 17, 2012

詞辨:parameter 與 argument

閱讀程式設計的文章時, 常會看到 parameter 與 argument 兩個詞, 在中文中可能都會被翻譯為「參數」或是「引數」, 不過這兩個詞嚴格來說, 是有不同的意義的。追本溯源, 這兩個詞來源自數學中的函數, parameter 指的是在定義函數時給定的變數, 而 argument 指的是使用該函數時實際傳遞給函數的資料。轉換到程式設計中也是一樣, 假設有個 foo 函數, 定義如下:
void foo(int n)
{
    .....
}
那麼 n 就是 parameter, 而在呼叫此函數時, 可能是這樣:

foo(20)
或是
foo(x)
此時 20 或是 x 就是 argument。

在某些程式語言中, 也會把 parameter 稱為 formal parameter, 而將 argument 稱為 actual parameter, 前者表示只是形式上的參數, 告訴程式呼叫此函數時, 需要傳入的資料個數與型別, 而後者表示實際上傳給函數的資料。如果要中文化, 這還真是難倒我了, 但若是 formal parameter 譯為「形式參數 」、actual parameter 譯為「實際參數」, 倒還可以, 但要想兩個詞彙分辨 parameter 與 argument , 還真是有點難啊!

2 則留言:

匿名 提到...

原來如此!

MaxVip帳號小組 提到...

Great explained