C/C++ 程式的 Parameter 與 Argument 差異

本篇 ShengYu 介紹 C/C++ 程式的 Parameter 與 Argument 差異,以前我不清楚 Parameter 與 Argument 這兩者的差異,直到有一次要寫 commit message 時,為了要明確地表達我的 commit 內容與意思,才真正地去理解這 Parameter & Argument 兩者的差異,Parameter 翻譯為參數,Argument 翻譯為引數,為了避免以後又混淆,這邊紀錄一下。

總結來說,Parameter (參數) 是函式宣告 (或函式簽章) 裡的變數,Argument (引數) 是表示呼叫函式時所帶入的變數或數值。

這邊來舉個例子幫助說明吧!
以下列子來說,在 main 主函式呼叫 add() 時所帶入的 a3 稱為引數 (Argument),而 xy 稱為 add() 的參數 (Parameter),

1
2
3
4
5
6
7
8
9
int add(int x, int y) {
// ...
}

int main() {
int a = 5;
int b = add(a, 3);
return 0;
}

以上就是 Parameter 與 Argument 的差異,也適用於其他程式語言。

另外我們平常在命令列下使用指令時,也會在指令後面帶入引數,例如下列中的 ls 指令,-l 為引數,

1
$ ls -l

或是下列中的 git 指令,log 為引數,

1
$ git log

其他參考文章
function - “Parameter” vs “Argument” - Stack Overflow
https://stackoverflow.com/questions/1788923/parameter-vs-argument
language agnostic - What’s the difference between an argument and a parameter? - Stack Overflow.
https://stackoverflow.com/questions/156767/whats-the-difference-between-an-argument-and-a-parameter

其它相關文章推薦
如果你想學習 C++ 相關技術,可以參考看看下面的文章,
C/C++ 新手入門教學懶人包