به متغیرهایی که هنگام نوشتن یک تابع در Header تابع تعریف میشوند (متغیرهای موجود در Prototype)، پارامتر (Parameter) گفته میشود. به مقدارهایی که هنگام فراخوانی یک تابع، به آن تابع ارسال میشوند، آرگومان (Argument) گفته میشود.
پارامترها متغیرهای محلی (Local Variables) هستند، که هنگام فراخوانی تابع، مقدار آرگومانها به آنها اختصاص مییابد. پارامترها در واقع مسئول دریافت مقدار آرگومانها میباشند.
به آرگومانها، Actual Parameters (پارامترهای واقعی) و به پارامترها، Formal Parameters (پارامترهای رسمی) گفته میشود.
به کد زیر دقت کنید:
#include <stdio.h>
// Parameter is variable in the declaration of function.
// Argument is the actual value of this variable that gets passed to function.
int foo(int n1, int n2) // n1 and n2 are the parameters
{
return n1 + n2;
}
int main()
{
int num1, num2;
scanf("%d%d", &num1, &num2);
printf("%d\n", foo(num1, num2)); // num1 and num2 are the arguments
return 0;
}
در کد بالا:
n1 و n2 پارامتر میباشند.
num1 و num2 آرگومان میباشند.