in computer programming, a parameter is a special kind of variable, used in a subroutine to refer to one of the pieces of data provided as input to the subroutine. these pieces of data are called arguments. an ordered list of parameters is usually included in the definition of a subroutine, so that, each time the subroutine is called, its arguments for that call can be assigned to the corresponding parameters. just as in standard mathematical usage, the argument is thus the actual input passed to a function, procedure, or routine, whereas the parameter is the variable inside the implementation of the subroutine. for example, if one defines the add subroutine as def add(x, y): return x + y, then x, y are parameters, while if this is called as add(2, 3), then 2, 3 are the arguments. note that variables from the calling context can be arguments: if the subroutine is called as a = 2; b = 3; add(a, b) then the variables a, b are the arguments, not only the values 2, 3. see the parameters and arguments section for more information. in the most common case, call by value, a parameter acts within the subroutine as a variable initialized to the value of the argument (a local (isolated) copy of the argument if the argument is a variable), but in other cases, e.g. call by reference, the argument supplied by the caller can be affected by actions within the called subroutine (as discussed in evaluation strategy). in call by value, one can thus think of arguments as values (properly, think of the value of arguments as the "arguments" themselves), but in general arguments are not simply values. the semantics for how parameters can be declared and how the arguments get passed to the parameters of subroutines are defined by the language, but the details of how this is represented in any particular computer system depend on the calling conventions of that system. == example == the following program in the c programming language defines a function that is named "sales_tax" and has one parameter named "price". the type of price is "double" (i.e. a double-precision floating point number). the function's return type is also a double. double sales_tax(double price) { return 0.05 * price; } after the function has been defined, it can be invoked as follows: sales_tax(10.00); in this example, the function has been invoked with the number 10.00. when this happens, 10.00 will be assigned to price, and the function begins calculating its result. the steps for producing the result are specified below enclosed in {} "0.05 * price" indicat
Subroutines Variable_(computer_programming)