آرگومان و پارامتر چه فرقی باهم دارن؟

Argument vs Parameter
Argument vs Parameter

آرگومان و پارامتر بیشتر اوقات با‌هم اشتباه گرفته میشن. تو این پست درباره اینکه چی هستن و چه فرقی باهم دارن صحبت می‌کنیم. پارامتر متغیریه که در تعریف تابع معین میشه، درحالی که آرگومان مقداریه که به تابع فرستاده میشه.

تابع یه پارامتر رو تعریف می‌کنه و کد فراخوان آرگومان رو به اون پارامتر ارسال می‌کنه. می‌تونیم پارامتر رو به عنوان فضای پارکینگ و آرگومان رو به عنوان یک خودرو در نظر بگیریم.

Parameter and Argument
Parameter and Argument

آرگومان

آرگومان به مقادیری گفته می‌شه که هنگام فراخوانی تابع، به تابع ارسال می‌شن. این مقادیر به متغیرهایی که در اعلان تابع تعریف شدن اختصاص داده میشن. نوع مقادیر ارسال شده به تابع با متغیرهای تعریف شده در تابع یکسانه. تو فارسی به آرگومان پارامتر واقعی هم گفته میشه.

مثال: فرض کنید برای فراخوانی دو عدد و جمع کردنشون به یه تابع () sum نیاز داریم. به این دو عددی که زمان فراخوانی تابع () sum بهش ارسال میشن، آرگومان می‌گن.

// C++ code to illustrate Arguments
#include <iostream>
using namespace std;

// sum: Function definition
int sum(int a, int b)
{
// returning the addition
return a + b;
}

int main()
{
int num1 = 10, num2 = 20, res;

// sum() is called with
// num1 & num2 as ARGUMENTS.
res = sum(num1, num2);

// Displaying the result
cout << &quotThe summation is &quot << res;
return 0;
}

خروجی

The summation is 30

پارامتر

پارامتر به متغیرهایی گفته می‌شه که در طی اعلان یا تعریف یه تابع تعیین میشن. این متغیرها برای دریافت آرگومان‌هایی که با فراخوانی تابع ارسال شدن استفاده میشن. تو فارسی بهشون پارامتر مجازی هم گفته میشه.

مثال: فرض کنید برای ضرب دو عدد به یه تابع () Mult نیاز داریم. به متغیر‌هایی که در زمان تعریف تابع تعیین کردیم پارامتر می‌گن.

// C++ code to illustrate Parameters

#include <iostream>
using namespace std;

// Mult: Function definition
// a and b are the parameters
int Mult(int a, int b)
{
// returning the multiplication
return a * b;
}

// Driver code
int main()
{
int num1 = 10, num2 = 20, res;

// Mult() is called with
// num1 & num2 as ARGUMENTS.
res = Mult(num1, num2);

// Displaying the result
cout << &quotThe multiplication is &quot << res;
return 0;
}

خروجی

The multiplication is 200
پارامتر‌ها داخل تعریف تابع هستند،‌ و آرگومان‌ها بیرون تعریف تابع.
پارامتر‌ها داخل تعریف تابع هستند،‌ و آرگومان‌ها بیرون تعریف تابع.

آرگومان و پارامتر چه فرقی باهم دارن

آرگومان

  • وقتی یه تابع فراخوانی میشه، به مقادیری که در طول فراخوانی ارسال می شن آرگومان گفته میشه.
  • در دستور فراخوانیِ تابع،‌ برای ارسال مقدار از تابع فراخواننده به تابع دریافت‌کننده استفاده میشن.
  • در طول زمان فراخوانی، هر آرگومان به پارامتری که در تعریف تابع تعیین شده اختصاص داده میشه.
  • بهشون پارامترهای واقعی هم گفته میشه.

مثال:

int num = 20;
Call(num)
// num is argument

پارامتر

  • به متغیرهایی که در زمان تعریف تابع یا نمونه اولیه تابع تعیین میشن، پارامتر گفته میشه.
  • پارامترها تو قسمت header تابع فراخوانی شده هستن و برای دریافت مقدار از آرگومان‌ها استفاده میشن.
  • پارامترها متغیرهای محلی هستن که هنگام فراخوانی تابع، مقدار آرگومان‌ها بهشون اختصاص داده میشه.
  • بهشون پارامترهای مجازی هم گفته میشه.

مثال:

int Call(int rnum)
{
printf(&quotthe num is %d&quot, rnum);
}
// rnum is parameter




منابع

Geeks for Geeks

microsoft.com

https://stackoverflow.com/questions/156767/whats-the-difference-between-an-argument-and-a-parameter