For example, the declaration of funct is a protoype. When function funct is called, the parameter f is converted to a double, and parameter c is converted to an int.
char * funct (double d, int i); main { float f; char c: funct(f, c) /* f is a double, c is an int */ }
The order in which parameters are evaluated is not specified. Avoid calls such as:
method(sample1, batch.process--, batch.process);
In this example, batch.process-- might be evaluated last, causing the second and third arguments to be passed with the same value.
In the following example, main passes func two values, 5 and 7. The function func receives copies of these values, and accesses them by the identifiers a and b. The function func changes the value of a. When control passes back to main, the actual values of x and y are not changed. The called function func only receives copies of x and y, and not the actual values themselves.
#include <stdio.h> int main(void) { int x = 5, y = 7; func(x, y); printf("In main, x = %d y = %d\n", x, y); } void func (int a, int b) { a +=b; printf("In func, a = %d b = %d\n", a, b); }
This program produces the following output:
In func, a = 12 b = 7 In main, x = 5 y = 7
Functions
Function
Calls
Types of
Expressions
Operands
lvalues
main()
Function
Function
Declarations
Function
Definitions
Example of the
main() Function
Examples of Function
Definitions
Examples of Function
Declarations