在使用函式時,往往會遇到這兩個名詞,
翻譯上時常造成混淆,每人翻的也不盡相同,
為了日後便於溝通,做個簡單的釐清 😬。
個人較常見的翻譯:
引數 (Argument)
參數 (Parameter)
引用 stack overflow 的解答:
An argument is an expression used when calling the method.
A parameter is the variable which is part of the method’s signature (method declaration).
引數 (Argument) 是用於呼叫函式,
參數 (Parameter) 是方法簽章 (方法的宣告)。
例如:
void Foo(int i, float f)
{
// Do things
}
void Bar()
{
int num = 1;
Foo(anInt, 2.0);
}
num
與 2.0
即為 引數 (Argument),或稱為 函式引數 (Argument of a Function)。
i
與 f
則為 參數 (Parameter)。
命令列引數 (Command-line Argument)
譬如,以下的簡易範例 (尋訪並印出所有引數):
#include <stdio.h>
int main(int argc, char *argv[]){
for (int i=0; i<argc; i++)
printf("%s\n", argv[i]);
return 0;
}
包含 ArgEcho 程式名稱在內,包含 Daddy Brother Lover LittleBoy,
皆為 命令列引數 (Command-line Argument) 。
範例原始檔
在《引數 (Argument) vs. 參數 (Parameter)》中有 10 則留言
謝謝你,很清楚。總算解決了我的疑問。
My pleasure 😇.
謝謝小勝
😘
“例如” 那邊的
Foo(anInt, 2.0);
應該是
Foo(num, 2.0);
嗎
“例如” 那邊的
Foo(anInt, 2.0);
應該是
Foo(num, 2.0);
嗎
“例如” 那邊的
Foo(anInt, 2.0);
應該是
Foo(num, 2.0);