15

It might be like this: Parameter means from the callers POV and arguments mean inside the procedure, or other way round.

Or is there no difference?

Update

In Swedish we say "anropsparametrar" i.e. "parameters that are calling the procedure" and we would not say "anropsargument" ("arguments that are calling the procedure").

3
  • 1
    it will depend on context, that you refer
    – Yusubov
    Oct 12, 2012 at 0:11
  • 2
    Please search next time: stackoverflow.com/questions/3176310/…
    – Overv
    Oct 12, 2012 at 6:22
  • 1
    @Overv Even that one is a duplicate. This question has been asked a billion times. Can't believe a bounty was set.
    – Alternatex
    Dec 30, 2014 at 13:28

1 Answer 1

31
+50

According to MSDN article there are some definition differences what is called parameter and what is called argument:

Parameter:

A parameter represents a value that the procedure expects you to pass when you call it. The procedure's declaration defines its parameters.

Argument:

An argument represents the value you pass to a procedure parameter when you call the procedure. The calling code supplies the arguments when it calls the procedure.

There is also a great quote how to understand it in real-life example:

To communicate this information to the procedure, the procedure defines a parameter, and the calling code passes an argument to that parameter. You can think of the parameter as a parking place and the argument as an automobile. Just as different automobiles can park in the parking place at different times, the calling code can pass a different argument to the same parameter each time it calls the procedure.

1
  • 5
    The C# language specification agrees with this. For example, section "1.6.6.1 Parameters" states that "The parameters of a method get their actual values from the arguments that are specified when the method is invoked."
    – akton
    Oct 12, 2012 at 0:28

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