Take the 2-minute tour ×

Hopefully the topic is not too confusing, I am curious though as lately I have seen more and more use of the word parameter to denote a function's passed in values, whereas during my studies I feel as if argument was used almost exclusively.

Is parameter more appropriate as argument is more specific to a programs arguments specific at runtime whereas when a function is called, the values passed to it are parameters to the function itself?

From a curious programmer.

share|improve this question

4 Answers 4

up vote 9 down vote accepted

See this article in wikipedia with a good explanation. The difference is that parameters appear in method/function definitions, while arguments are concrete values you pass to a method/function.

share|improve this answer
Thanks, answers my question and actually does make sense. A function has parameters, a function is called with arguments. –  Chris Nov 16 '10 at 19:01

Given a function defined like:

int f(int y) { /* ... */ }

and a call like:

int a = 3;

y is the parameter (aka "formal parameter"), and a is the argument.

share|improve this answer

I found this definition very simple to explain:

  • a parameter is a "hole" in your function definition
  • an argument is what the client uses to fill that "hole"
share|improve this answer

In college, I was taught that the correct term is "argument". I think either are appropriate and both definitions are obvious to most developers, but, from a technical standpoint, I generally stick with "argument".

share|improve this answer

Your Answer


