Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
up vote 10 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


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.