Next: Forward Function Declarations, Up: Function Definitions [Contents][Index]
A function parameter variable is a local variable (see Local Variables) used within the function to store the value passed as an argument in a call to the function. Usually we say “function parameter” or “parameter” for short, not mentioning the fact that it’s a variable.
We declare these variables in the beginning of the function definition, in the parameter list. For example,
fib (int n)
has a parameter list with one function parameter n, which has
type int.
Function parameter declarations differ from ordinary variable declarations in several ways:
foo has two
int parameters, write this:
foo (int a, int b)
You can’t share the common int between the two declarations:
foo (int a, b)      /* Invalid! */
foo (int a[5]) foo (int a[]) foo (int *a)
are equivalent.
If a function has no parameters, it would be most natural for the list of parameters in its definition to be empty. But that, in C, has a special meaning for historical reasons: “Do not check that calls to this function have the right number of arguments.” Thus,
int
foo ()
{
  return 5;
}
int
bar (int x)
{
  return foo (x);
}
would not report a compilation error in passing x as an
argument to foo.  By contrast,
int
foo (void)
{
  return 5;
}
int
bar (int x)
{
  return foo (x);
}
would report an error because foo is supposed to receive
no arguments.
Next: Forward Function Declarations, Up: Function Definitions [Contents][Index]