Arguments are the initializers for a function's parameters. The first argument initializes the first parameter, the second argument initializes the second parameter, and so on. Although we know which argument initializes which parameter, we have no guarantees about the order in which arguments are evaluated. The compiler is free to evaluate the arguments in whatever order it prefers.
The type of each aragument must match the corresponding parameter in the same way that the type of any initializer must match the type of the object it initializes. We must pass exactly the same number of arguments as the function has parameters. Because every call is guaranteed to pass as many arguments as the function has parameters, parameters are always initialized.
another answer from the internet:
Argument is often used in the sense of "actual argument" vs. "formal parameter".
The formal parameter is what's given in the function declaration/definition/prototype, the actual argument is what's passed when calling the function, an instance of a formal parameter, if you will.
That being said, they're often used interchangably, or depending on language/community, and I've also heard "actual parameter" &c.
So here, x and y would be formal parameters:
int foo(int x, int y) {
...
}
Whereas here, in the function call, 5 and z are the actual arguments:
Quoted from the >:Arguments are the initializers for a function's parameters. The first argument initializes the first parameter, the second argument initializes the second parameter, and so on. Alt