Есть ли разница между "параметром" и "аргументом", или они просто синонимы?
Разница между параметром и аргументом
Ответ 1
Аргумент часто используется в смысле "фактического аргумента" по сравнению с "формальным параметром".
Формальный параметр - это то, что указано в объявлении/определении/прототипе функции, фактический аргумент - это то, что передавалось при вызове функции, экземпляр формального параметра, если вы это сделаете.
Говоря это, они часто используются взаимозаменяемо или в зависимости от языка/сообщества, и я также слышал "фактический параметр" & c.
Итак, x
и y
будут формальными параметрами:
int foo(int x, int y) {
...
}
В то время как здесь, в вызове функции, 5 и z
являются фактическими аргументами:
foo(5, z);
Ответ 2
Как правило, параметры - это то, что используется внутри функции, а аргументы - значения, передаваемые при вызове функции. (Если вы не придерживаетесь противоположного мнения - Wikipedia упоминает альтернативные соглашения при обсуждении параметров и аргументов).
double sqrt(double x)
{
...
return x;
}
void other(void)
{
double two = sqrt(2.0);
}
Под моим тезисом, x является параметром sqrt()
а 2.0 - аргументом.
Термины часто используются, по крайней мере, несколько взаимозаменяемо.
Ответ 3
Они часто используются взаимозаменяемо в тексте, но в большинстве стандартов различие заключается в том, что аргумент представляет собой выражение, переданное функции, где параметр является ссылкой, объявленной в объявлении функции.
Ответ 4
Аргументы и параметры различны в том, что параметры используются для разных значений в программе и Аргументы передаются с одинаковым значением в программе, поэтому они используются в С++. Но никакой разницы в c. То же самое для аргументов и параметров в c.